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:向dalao们求助,总是TLE,求救In Reply To:向dalao们求助,总是TLE,求救 Posted by:2016202202 at 2016-11-05 15:36:47 > #include<stdio.h> > #include<string.h> > #define N 100000 > #define M 300 > char a[N][M],r[N][M]; > int counter[N],counter_a[N]={0}; > void sort(char a[][M],int n); > int main() > { > int n,i,j,len,count,t=0,time=0,t1=0; > > scanf("%d",&n); > for(i=0;i<n;i++) > { > counter[i]=1; > } > while(getchar()!='\n'); > for(i=0;i<n;i++) > { > gets(a[i]); > } > for(i=0;i<n;i++) > { > count=0; > len=strlen(a[i]); > for(j=0;j<len;j++) > { > if(a[i][j]!='-'&&a[i][j]!='Q'&&a[i][j]!='Z') > { > if(count==3) > { > r[i][count]='-'; > count++; > } > if(a[i][j]>='0'&&a[i][j]<='9')r[i][count]=a[i][j]; > else > { > switch(a[i][j]) > { > case 'A':r[i][count]='2'; > break; > case 'B':r[i][count]='2'; > break; > case 'C':r[i][count]='2'; > break; > case 'D':r[i][count]='3'; > break; > case 'E':r[i][count]='3'; > break; > case 'F':r[i][count]='3'; > break; > case 'G':r[i][count]='4'; > break; > case 'H':r[i][count]='4'; > break; > case 'I':r[i][count]='4'; > break; > case 'J':r[i][count]='5'; > break; > case 'K':r[i][count]='5'; > break; > case 'L':r[i][count]='5'; > break; > case 'M':r[i][count]='6'; > break; > case 'N':r[i][count]='6'; > break; > case 'O':r[i][count]='6'; > break; > case 'P':r[i][count]='7'; > break; > case 'R':r[i][count]='7'; > break; > case 'S':r[i][count]='7'; > break; > case 'T':r[i][count]='8'; > break; > case 'U':r[i][count]='8'; > break; > case 'V':r[i][count]='8'; > break; > case 'W':r[i][count]='9'; > break; > case 'X':r[i][count]='9'; > break; > case 'Y':r[i][count]='9'; > break; > } > } > /* > else if(a[i][j]=='A'||a[i][j]=='B'||a[i][j]=='C')r[i][count]='2'; > else if(a[i][j]=='D'||a[i][j]=='E'||a[i][j]=='F')r[i][count]='3'; > else if(a[i][j]=='G'||a[i][j]=='H'||a[i][j]=='I')r[i][count]='4'; > else if(a[i][j]=='J'||a[i][j]=='K'||a[i][j]=='L')r[i][count]='5'; > else if(a[i][j]=='M'||a[i][j]=='N'||a[i][j]=='O')r[i][count]='6'; > else if(a[i][j]=='P'||a[i][j]=='R'||a[i][j]=='S')r[i][count]='7'; > else if(a[i][j]=='T'||a[i][j]=='U'||a[i][j]=='V')r[i][count]='8'; > else if(a[i][j]=='W'||a[i][j]=='X'||a[i][j]=='Y')r[i][count]='9'; > */ > count++; > } > } > } > sort(r,n); > for(i=1;i<n;i++) > { > if(strcmp(r[i],r[i-1])==0) > { > counter[t]++; > counter_a[t]=i; > if(strcmp(r[i],r[i+1])!=0)t++; > } > } > for(i=0;i<=t;i++) > { > if(counter[i]==1)continue; > printf("%s %d\n",r[counter_a[i]],counter[i]); > } > for(i=0;i<=t;i++) > { > if(counter[i]==1)time++; > if(time==t+1)printf("No duplicates.\n"); > } > return 0; > } > void sort(char a[][M],int n) > { > int i,j,k; > char ch[M]; > for(i=0;i<n-1;i++) > { > k=i; > for(j=i+1;j<n;j++) > { > if(strcmp(a[k],a[j])>0)k=j; > } > if(k!=i) > { > strcpy(ch,a[k]); > strcpy(a[k],a[i]); > strcpy(a[i],ch); > } > } > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator