题目地址:点击打开链接
C++代码:
#include <iostream>
#include <string>
#include <cstring>
#include <map>
#include <cctype>
#include <algorithm>
using namespace std;
const char kTable[]="2223334445556667777888999";
int main()
{
int m;
cin>>m;
map<string,int> index;
for(int j=0;j<m;++j)
{
index.clear();
int n;
cin>>n;
while(n--)
{
string s;
cin>>s;
s.erase(remove(s.begin(),s.end(),'-'),s.end());
int i;
for(i=0;i<s.size();++i)
{
if(!isdigit(s[i]))
s[i]=kTable[s[i]-'A'];
}
s.insert(3,"-");
index[s]++;
}
map<string,int>::const_iterator iter;
iter=index.begin();
int flag=0;
while(iter!=index.end())
{
if(iter->second>1)
{
cout<<iter->first<<" "<<iter->second<<endl;
flag=1;
}
++iter;
}
if(flag==0)
cout<<"No duplicates."<<endl;
if(j!=m-1)
cout<<endl;
}
return 0;
}