#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
char szNumMap[] = "22233344455566670778889990";
map<string,int> mResultMap;
string strInputTemp;
string strResult;
int nCaseCount = 0;
cin >> nCaseCount;
while( nCaseCount > 0 )
{
cin >> strInputTemp;
strResult.clear();
for( string::size_type i = 0; i < strInputTemp.size(); ++i )
{
if ( strInputTemp[i] == '-' ) continue;
if ( isdigit( strInputTemp[i] ) )
{
strResult += strInputTemp[i];
}
else
{
strResult += szNumMap[strInputTemp[i]-'A'];
}
}
strResult.insert( 3, 1, '-' );
mResultMap[strResult]++;
--nCaseCount;
}
bool bRepeat = false;
for ( map<string,int>::const_iterator it = mResultMap.begin();
it != mResultMap.end(); ++it )
{
if ( it->second > 1 )
{
cout << it->first << " " << it->second << endl;
bRepeat = true;
}
}
if ( !bRepeat )
{
cout << "No duplicates." << endl;
}
return 0;
}
作者:山丘儿
转载请标明出处,谢谢。原文地址:http://blog.csdn.net/s634772208/article/details/46546981