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:please help me.代码一直TLE,求解。In Reply To:please help me.代码一直TLE,求解。 Posted by:super_while at 2012-12-16 17:42:02 > 代码一直Time Limit Exceeded,求解。 > #include <stdio.h> > #include <string> > #include <map> > using namespace std; > int main() > { > int i, j, n=0, num, duplicates=0; > size_t t=0; > map<string, int> num_map; > map<string, int>::iterator it; > char src[200]; > scanf("%d", &num); > while(n!=num) > { > scanf("%s", src); > char *tra=src; > char ch[200]; > i = 0; > j = 0; > do > { > if(*tra=='A'||*tra=='B'||*tra=='C') > *tra = '2'; > else if(*tra=='D'||*tra=='E'||*tra=='F') > *tra = '3'; > else if(*tra=='G'||*tra=='H'||*tra=='I') > *tra = '4'; > else if(*tra=='J'||*tra=='K'||*tra=='L') > *tra = '5'; > else if(*tra=='M'||*tra=='N'||*tra=='O') > *tra = '6'; > else if(*tra=='P'||*tra=='R'||*tra=='S') > *tra = '7'; > else if(*tra=='T'||*tra=='U'||*tra=='V') > *tra = '8'; > else if(*tra=='W'||*tra=='X'||*tra=='Y') > *tra = '9'; > else if(*tra=='0'||*tra=='1'||*tra=='2'||*tra=='3'||*tra=='4'||*tra=='5'||*tra=='6'||*tra=='7'||*tra=='8'||*tra=='9') > *tra =*tra; > else { > tra++; > i++; > ch[j]='\0'; > continue; > } > ch[j]=*tra; > tra++; > i++; > j++; > ch[j]='\0'; > }while(src[i]!='\0'); > > n++; > > it=num_map.find(ch); > if(it==num_map.end()) > num_map[ch]=1; > else > ++(*it).second; > } > > it=num_map.begin(); > for(i=0; i<num_map.size(); i++) { > if(it->second!=1) { > printf("%c%c%c-%s %d\n", it->first[0], it->first[1], it->first[2], &(it->first[3]), it->second); > duplicates=1; > } > it++; > } > > if(duplicates==0) > printf("No duplicates.\n"); > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator