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 |
为嘛老是WA呢……请高手不吝赐教!#include<stdio.h> #include<iostream> #include<stdlib.h> #include<string.h> using namespace std; int cmp(const void *a,const void *b) { return(strcmp(*(char**)a,*(char**)b)); } char tra(char c) { if(c=='A'||c=='B'||c=='C') return '2'; else if(c=='D'||c=='E'||c=='F') return '3'; else if(c=='G'||c=='H'||c=='I') return '4'; else if(c=='J'||c=='K'||c=='L') return '5'; else if(c=='M'||c=='N'||c=='O') return '6'; else if(c=='P'||c=='R'||c=='S') return '7'; else if(c=='T'||c=='U'||c=='V') return '8'; else return '9'; } int main() { int t,i,w1,w2,w3,*time,flag=1; char **n1,**n2; scanf("%d",&t); time=new int[t]; for(i=0;i<t;i++) time[i]=1; n1=new char*[t]; for(i=0;i<t;i++) n1[i]=new char[17]; n2=new char*[t]; for(i=0;i<=t;i++) n2[i]=new char[10]; for(i=0;i<t;i++) scanf("%s",n1[i]); for(i=0;i<t;i++) { for(w1=0,w2=0;n1[i][w1]!='\0';w1++) { if(w2==3) { n2[i][w2]='-'; w2++; w1--; } else if(n1[i][w1]>='0'&&n1[i][w1]<='9') { n2[i][w2]=n1[i][w1]; w2++; } else if(n1[i][w1]>='A'&&n1[i][w1]<='Y') { n2[i][w2]=tra(n1[i][w1]); w2++; } } n2[i][w2]='\0'; } qsort(n2,t,sizeof(n2[0]),cmp); for(i=1,w3=0;i<t;i++) { if(strcmp(n2[i],n2[i-1])==0) time[w3]++; else w3++; } for(i=1;i<t;i++) if(time[i]!=1) flag=0; if(flag) printf("No duplicates.\n"); else { for(i=1,w3=0;i<t;i++) { if(strcmp(n2[i],n2[i-1])!=0) { if(time[w3]!=1) { printf("%s %d\n",n2[i-1],time[w3]); w3++; } else w3++; } } if(time[w3]!=1) printf("%s %d\n",n2[i-1],time[w3]); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator