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 |
赞啊,附上代码In Reply To:wa的同学看一下 Posted by:913106840325 at 2014-07-09 15:46:43 我之前是字符数组开小了,总WA,,看了你这个后我也加到了300,AC了!!! 借鉴了其它大神的思路 #include<algorithm> #include<stdio.h> #include<string.h> using namespace std; int n=0; int m=0; int stream(int n){ int s = 1000000; for(int i=0;i<m;i++) s=s/10; m++; return s*n; } int str[100005]; int main(){ int t; scanf("%d",&t); getchar(); while(t--) { m=0; char s[300]; int ss=0; gets(s); for(int i=0;i<strlen(s);i++) { if(s[i]>='0'&&s[i]<='9'){int h = s[i]-'0';ss+=stream(h);} else if(s[i]=='A'||s[i]=='B'||s[i]=='C')ss+=stream(2); else if(s[i]=='D'||s[i]=='E'||s[i]=='F')ss+=stream(3); else if(s[i]=='G'||s[i]=='H'||s[i]=='I')ss+=stream(4); else if(s[i]=='J'||s[i]=='K'||s[i]=='L')ss+=stream(5); else if(s[i]=='M'||s[i]=='N'||s[i]=='O')ss+=stream(6); else if(s[i]=='P'||s[i]=='R'||s[i]=='S')ss+=stream(7); else if(s[i]=='T'||s[i]=='U'||s[i]=='V')ss+=stream(8); else if(s[i]=='W'||s[i]=='X'||s[i]=='Y')ss+=stream(9); } str[n++]= ss; } sort(str,str+n); int num=1; int flag=0; for(int i=0;i<n-1;i++){ while(str[i]==str[i+1]){ num++; i++; flag=1; } if(num>1){ printf("%0.3d-%0.4d %d\n",str[i]/10000,str[i]%10000,num); num=1; } } if(flag==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