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 |
一直WA,各种可能的数据都测试了,求指点#include <iostream> #include <string> using namespace std; string formtranslate(string str) { char res[20]; int j=0; for(int i=0;i<str.length();i++) { if(j==3) { res[j++]='-'; } switch(str[i]) { case 'A':; case 'B':; case 'C':res[j++]='2';break; case 'D':; case 'E':; case 'F':res[j++]='3';break; case 'G':; case 'H':; case 'I':res[j++]='4';break; case 'J':; case 'K':; case 'L':res[j++]='5';break; case 'M':; case 'N':; case 'O':res[j++]='6';break; case 'P':; case 'R':; case 'S':res[j++]='7';break; case 'T':; case 'U':; case 'V':res[j++]='8';break; case 'W':; case 'X':; case 'Y':res[j++]='9';break; case 'Q':; case 'Z':; case '-':;break; default : res[j++]=str[i]; } } res[j++]='\0'; return res; } void quiksort(string arr[],int p,int q) { if(q>p) { int j=p-1; string temp; for(int i=p;i<q;i++) { if(arr[i]<arr[q]) { j++; if(i>j) { temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } j++; temp=arr[j]; arr[j]=arr[q]; arr[q]=temp; quiksort(arr,p,j-1); quiksort(arr,j+1,q); } } int main() { //cout << "Hello world!" << endl; int count; int t=0; cin>>count; string arr[1000]; string temp; for(int i=0;i<count;i++) { cin>>temp; arr[i]=formtranslate(temp); } quiksort(arr,0,count-1); int num=1; for(int i=0;i<count;i++) { if(i>0&&arr[i]==arr[i-1]) { num++; } if(i==count-1 || i<count-1 && arr[i] != arr[i+1]) { if(num>1) { cout<<arr[i]<<" "<<num<<endl; t++; } num=1; } } if(t==0) { cout<<"No duplicates. "<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator