题目
模拟

#include<cstdio>
#include<cstring>
#include<string>
#include<map>
#include<cctype>
#include<iostream>
using namespace std;
char temp[100];
char str[100];

int main(){
	int n;
	scanf("%d",&n);
	map<string,int> mp;
	for(int i=0;i<n;i++){
		memset(temp,0,sizeof(temp));
		memset(str,0,sizeof(str));
		
		scanf("%s",str);
		int len = strlen(str);
		int cnt=0;
		
		int k=0;
		for(int i=0;i<len;i++){
			if(str[i]=='-') continue;
			cnt++;
			if(str[i]>='A'&&str[i]<='Y'){
				if(str[i]>='A'&&str[i]<='P'){
					str[i]='0'+(str[i]-'A')/3 + 2;//转换成数字
				}else{
					if(str[i]>='R'&&str[i]<='S') str[i]='7';
					else if(str[i]>='T'&&str[i]<='V') str[i]='8';
					else str[i]='9';
				}
			}
			temp[k++]=str[i];
			string s=temp;
			if(s.size()==7) mp[s]++;
		}
	}
	
	map<string,int>::iterator it;
	int flag=0;
	for(it=mp.begin();it!=mp.end();it++){
		if(it->second<=1) continue;
		for(int j=0;j<it->first.size();j++){
			printf("%c",it->first[j]);
			if(j==2) printf("-");
		}
		flag=1;
		printf(" %d\n",it->second);
	}
	if(!flag) printf("No duplicates.\n"); //注意点号和第一个首字母大写
}