755

#include <iostream>
#include <map>
#include <string>

using namespace std;

map<char,int> mp;
map<int,int> np;

int main()
{
	mp['A']=2;
	mp['B']=2;
	mp['C']=2;

	mp['D']=3;
	mp['E']=3;
	mp['F']=3;

	mp['G']=4;
	mp['H']=4;
	mp['I']=4;

	mp['J']=5;
	mp['K']=5;
	mp['L']=5;

	mp['M']=6;
	mp['N']=6;
	mp['O']=6;

	mp['P']=7;
	mp['R']=7;
	mp['S']=7;

	mp['T']=8;
	mp['U']=8;
	mp['V']=8;

	mp['W']=9;
	mp['X']=9;
	mp['Y']=9;

	mp['0']=0;
	mp['1']=1;
	mp['2']=2;

	mp['3']=3;
	mp['4']=4;
	mp['5']=5;

	mp['6']=6;
	mp['7']=7;
	mp['8']=8;

	mp['9']=9;


	int t,n,num;
	string str;

	cin>>t;

	while(t--)
	{
		cin>>n;
		np.clear();

		for(int i=0;i<n;i++)
		{
			cin>>str;
			num=0;
			for(int j=0;j<str.size();j++)
			{
				if(str[j]!='-')
				{
					num*=10;
					num+=mp[str[j]];
				}

			}

			np[num]++;

		}

		if(np.size()==n)
		{
			cout<<"No duplicates.\n";
			if(t)
				cout<<"\n";
			continue;
		}
		for(map<int,int>::iterator ii=np.begin();ii!=np.end();++ii)
		{
			if(ii->second>1)
			{
				int tmp=(ii->first/10000);

				if((tmp%1000)<100)
					cout<<0;
				if((tmp%1000)<10)
					cout<<0;
				if((tmp%1000)<1)
				{
					cout<<0<<"-";
				}
				else
					cout<<(ii->first/10000)<<"-";

				if((ii->first%10000)<1000)
					cout<<0;
				if((ii->first%10000)<100)
					cout<<0;
				if((ii->first%10000)<10)
					cout<<0;
				if((ii->first%10000)<1)
				{
					cout<<0<<" "<<ii->second<<"\n";
					//continue;
				}
				else
				cout<<(ii->first%10000)<<" "<<ii->second<<"\n";
			}

		}
		if(t)
		cout<<"\n";
	}

	return 0;
}

 

Leave a Reply

Your email address will not be published. Required fields are marked *