| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:自己测试结果对了。。。 但是不能AC,求高手帮忙看看。。。In Reply To:自己测试结果对了。。。 但是不能AC,求高手帮忙看看。。。 Posted by:lxm_xupt at 2012-08-01 00:26:33 > #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> char trans(char ch);
> int cmp(const void * a,const void * b)
> {
> return strcmp((char *)a,(char *)b);
> }
> int main()
> {
> char **input;
> char **result;
> int i,j,k,n;
> k = 0;
> int flag = 0;
> char remove[7] = {-1};
> scanf("%d",&n);
> input = (char **)malloc(n*sizeof(char*));
> result = (char **)malloc(n*sizeof(char*));
> for(i = 0; i < n; i++){
> input[i] = (char *)malloc(sizeof(char)*20);
> result[i] = (char *)malloc(sizeof(char)*8);
> memset(input[i],0,sizeof(char)*20);
> memset(result[i],0,sizeof(char)*8);
> scanf("%s",input[i]);
> }
> for(i = 0; i < n ;i++){
> for(j = 0; j < 20 ;j++)
> if(trans(input[i][j]) > -1){
> result[flag][k++] = trans(input[i][j]);
> }
> if(k == 7){
> flag++;
> k = 0;
> }
> else
> continue;
> }
> qsort(result,flag,sizeof(result[0]),cmp);
> int key = 0;int p =0;
> for(i = 0;i < flag;i++){
> for(j = i + 1 ;j < flag; j++){
> if((memcmp(result[i],result[j],7) == 0) && (memcmp(result[j],remove,7) != 0)){
> memcpy(result[j],remove,7);
> result[i][8] += 1;
> key = 1;
> p = 1;
> }
> }
> if(p){
> for(k = 0 ;k < 7;k++){
> printf("%d",result[i][k]);
> if(k == 2)
> printf("-");
> }
> printf(" %d\n",result[i][8]+1);
> p = 0;
> }
> }
> if(!key)
> printf("No duplicates.\n");
> return 0;
>
> }
> char trans(char ch)
> {
> if(ch>='A'&&ch<='Z')
> switch(ch - 'A'){
> case 0:
> case 1:
> case 2:
> return 2;
> case 3:
> case 4:
> case 5:
> return 3;
> case 6:
> case 7:
> case 8:
> return 4;
> case 9:
> case 10:
> case 11:
> return 5;
> case 12:
> case 13:
> case 14:
> return 6;
> case 15:
> case 17:
> case 18:
> return 7;
> case 19:
> case 20:
> case 21:
> return 8;
> case 22:
> case 23:
> case 24:
> return 9;
> case 16:
> return 0;
> case 25:
> return 0;
> }
> else if(ch == '-')
> return -1;
> else if(ch >= '0'&& ch <='9')
> return (ch-'0');
> else
> return -2;
> }
id是1002
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator