UVA 755
#include<iostream> #include<cctype> #include<algorithm> #include<string> #include<map> using namespace std; int main() { map <char,char> ch_in; ch_in.insert(make_pair('A','2')); ch_in.insert(make_pair('B','2')); ch_in.insert(make_pair('C','2')); ch_in.insert(make_pair('D','3')); ch_in.insert(make_pair('E','3')); ch_in.insert(make_pair('F','3')); ch_in.insert(make_pair('G','4')); ch_in.insert(make_pair('H','4')); ch_in.insert(make_pair('I','4')); ch_in.insert(make_pair('J','5')); ch_in.insert(make_pair('K','5')); ch_in.insert(make_pair('L','5')); ch_in.insert(make_pair('M','6')); ch_in.insert(make_pair('N','6')); ch_in.insert(make_pair('O','6')); ch_in.insert(make_pair('P','7')); ch_in.insert(make_pair('R','7')); ch_in.insert(make_pair('S','7')); ch_in.insert(make_pair('T','8')); ch_in.insert(make_pair('U','8')); ch_in.insert(make_pair('V','8')); ch_in.insert(make_pair('W','9')); ch_in.insert(make_pair('X','9')); ch_in.insert(make_pair('Y','9')); ch_in.insert(make_pair('0','0')); ch_in.insert(make_pair('1','1')); ch_in.insert(make_pair('2','2')); ch_in.insert(make_pair('3','3')); ch_in.insert(make_pair('4','4')); ch_in.insert(make_pair('5','5')); ch_in.insert(make_pair('6','6')); ch_in.insert(make_pair('7','7')); ch_in.insert(make_pair('8','8')); ch_in.insert(make_pair('9','9')); int n; cin>>n; cin.ignore(); while(n--) { int m,i,j; cin>>m; cin.ignore(); map<string,int>jidu; for(i=0;i<m;i++) { string temp; int flag=0; getline(cin,temp); string temp_str(temp); for(j=0;j<temp.length();j++) { if(temp[j]!='-') temp_str[flag++]=ch_in[temp[j]]; } temp_str.insert(3,"-"); temp_str=temp_str.substr(0,8); jidu[temp_str]++; } map<string,int>::iterator it; int flagg=0; for(it=jidu.begin();it!=jidu.end();it++) { if(it->second>1) { cout<<it->first<<" "<<it->second<<endl; flagg=1; } } if(flagg==0) cout<<"No duplicates."<<endl; if(n!=0)cout<<endl; } return 0; }