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:代码In Reply To:代码 Posted by:chenxuan123456789 at 2012-07-28 09:06:59 #include <stdio.h> #include <stdlib.h> #include <string.h> #define M 100000+10 char hash[27]="22233344455566670778889990"; int cmp(const void *_a,const void *_b) { char *a=(char*)_a; char *b=(char*)_b; return strcmp(a,b); } char str[M][20]; int main() { int n,i,j,ans,k,flag,length; char s[20]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",str[i]); length=strlen(str[i]); k=0; for(j=0;j<length;j++) { if(str[i][j]>='A'&&str[i][j]<='Z') s[k++]=hash[str[i][j]-'A']; else if(str[i][j]>='0'&&str[i][j]<='9') s[k++]=str[i][j]; else if(str[i][j]=='-'); } s[k]='\0'; strcpy(str[i],s); } qsort(str,n,sizeof(str[0]),cmp); flag=0; for(i=0;i<n;) { ans=1; for(j=i+1;j<n;j++) if(strcmp(str[i],str[j])==0) ans++; else break; if(ans>1) { flag=1; for(k=0;k<3;k++) printf("%c",str[i][k]); printf("-"); for(k=3;k<7;k++) printf("%c",str[i][k]); printf(" %d\n",ans); } i+=ans; } if(!flag) printf("No duplicates."); return 1; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator