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<iostream> #include<cstring> #include<string> int main() { struct phone { std::string vv; int ntime; }; int n,time=0; void dosomething(char &chr); std::cin>>n; std::string *v=new std::string [n]; struct phone *vvv=new struct phone [n]; for(int i=0;i<n;i++){ std::cin>>v[i]; int k; for(k=0;v[i].begin()+k<v[i].end();){ if(*(v[i].begin()+k)=='-') v[i].erase(v[i].begin()+k); else{ if(*(v[i].begin()+k)<'0' || *(v[i].begin()+k)>'9') dosomething(*(v[i].begin()+k)); k++; } } int j; for(j=0;j<time;j++){ if(vvv[j].vv==v[i]){ vvv[j].ntime++; break; } } if(time==j){ vvv[time].vv=v[i]; vvv[time].ntime=1; time++; } } int k1,i1,i2; for(i1=0;i1<time;i1++){ k1=i1; for(i2=i1;i2<time;i2++) if(vvv[k1].vv>vvv[i2].vv) k1=i2; if(k1!=i1){ struct phone temp; temp.vv=vvv[k1].vv; temp.ntime=vvv[k1].ntime; vvv[k1].vv=vvv[i1].vv; vvv[k1].ntime=vvv[i1].ntime; vvv[i1].vv=temp.vv; vvv[i1].ntime=temp.ntime; } } bool flag=false; for(k1=0;k1<time;k1++){ if(vvv[k1].ntime!=1){ int i3; for(i3=0;i3<8;i3++){ if(i3<3) std::cout<<vvv[k1].vv[i3]; else if(i3==3) std::cout<<"-"; else std::cout<<vvv[k1].vv[i3-1]; } std::cout<<" "<<vvv[k1].ntime<<std::endl; flag=true; } } if(!flag) std::cout<<"No duplicates."<<std::endl; delete [] v; delete [] vvv; return 0; } void dosomething(char &chr) { char a[8][4]={"ABC","DEF","GHI","JKL","MNO","PRS","TUV","XYW"}; int i=0; for(i=0;i<8;i++) if(strchr(a[i],chr)){ chr=i+50; return; } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator