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 |
能帮我看看应该怎么改才能减少用时吗?谢谢了#include<stdio.h> #include<malloc.h> void main () { struct dn{ int n[7]; int r; }; struct dn *p; int n,i,j,k,s,total; char w; scanf("%d",&n); p=(struct dn *)malloc(sizeof(dn)*n); for(j=0;j<n;j++){ for(i=0;i<7;){ scanf("%c",&w); if(((int)w<=57&&(int)w>=48)||((int)w>=65&&(int)w<=91)){ if(w=='A'||w=='B'||w=='C') w=2; if(w=='D'||w=='E'||w=='F') w=3; if(w=='G'||w=='H'||w=='I') w=4; if(w=='J'||w=='K'||w=='L') w=5; if(w=='M'||w=='N'||w=='O') w=6; if(w=='P'||w=='R'||w=='S') w=7; if(w=='T'||w=='U'||w=='V') w=8; if(w=='W'||w=='X'||w=='Y') w=9; if((int)w<=57&&(int)w>=48) w=(int)w-48; (p+j)->n[i]=w; (p+j)->r=0; i++; } } } for(j=0;j<n;j++){ if((p+j)->r==1) continue; for(i=0;i<n;i++){ s=0; for(k=0;k<7;k++){ if((p+j)->n[k]==(p+i)->n[k]) s++; } if(s==7){ ((p+j)->r)++; (p+i)->r=1; } } } for(j=0;j<+9;j++){ for(i=0;i<n;i++){ if(((p+i)->n[0]==j)&&(p+i)->r>1){ printf("%d%d%d-%d%d%d%d %d\n",(p+i)->n[0],(p+i)->n[1],(p+i)->n[2],(p+i)->n[3],(p+i)->n[4],(p+i)->n[5],(p+i)->n[6],(p+i)->r); total++; } } } if(total==0) printf("No duplicates.\n"); } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator