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:yuenyun at 2003-07-08 14:23:12 > #include <iostream> > > using namespace std; > > > int cmp(const void *t1,const void *t2) > {int *a,*b; > a=(int *)t1; b=(int *)t2; > if (*a>*b) return 1; > if (*a<*b) return -1; > return 0; > } > void main() > { > int a[100000]; > char b[50]; > int num; > cin>>num; > if (num<2) > { > cin>>b; > cout<<"No duplicates."; > } > else > { > for (int i=0;i<num;i++) > { > cin>>b; > int p1=0; > int result=0; > for (int j=0;j<strlen(b);j++) > { > char tmp=b[j]; > switch(tmp) > { > case('A'): > case('B'): > case('C'): > { > b[j]='2'; > break; > } > case('D'): > case('E'): > case('F'): > { > b[j]='3'; > break; > } > case('G'): > case('H'): > case('I'): > { > b[j]='4'; > break; > } > case('J'): > case('K'): > case('L'): > { > b[j]='5'; > break; > } > case('M'): > case('N'): > case('O'): > { > b[j]='6'; > break; > } > case('P'): > case('R'): > case('S'): > { > b[j]='7'; > break; > } > case('T'): > case('U'): > case('V'): > { > b[j]='8'; > break; > } > case('W'): > case('X'): > case('Y'): > { > b[j]='9'; > break; > } > > case(' '): > { > b[j]='.'; > break; > } > } > > > if (b[j]>='0' && b[j]<='9') > { > b[p1++]=b[j]; > result=10*result+b[j]-('1'-1); > } > } > a[i]=result; > } > qsort(a,num,sizeof(int),cmp); > int flag=0; > int pp=0; > while(pp<num) > { > int sum=1; > int i=1; > while(a[pp]==a[pp+i]) > { > i++; > sum++; > } > if (sum>1) > { > int x1=a[pp]/10000; > int y1=a[pp] % 10000; > > if (x1>99) > cout<<x1<<"-"; > else if (x1>9) > cout<<"0"<<x1<<"-"; > else > cout<<"00"<<x1<<"-"; > //cout<<"-"; > if (y1>999) > cout<<y1<<" "<<sum<<endl; > else if (y1>99) > cout<<"0"<<y1<<" "<<sum<<endl; > else if (y1>9) > cout<<"00"<<y1<<" "<<sum<<endl; > else if (y1>=0) > cout<<"000"<<y1<<" "<<sum<<endl; > flag=1; > // cout<<" "<<sum<<endl; > } > > pp=pp+i; > } > if (flag==0) > cout<<"No duplicates."; > } > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator