RT
#include<bits/stdc++.h>
using namespace std;
int biao[26]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,-1,7,7,8,8,8,9,9,9};
struct var{
int cishu;
string yuan;
};
map<string,var> t;
string jiagong(string str){
string now;
for(auto a:str){
if(a=='-'){
continue;
}
if(a>='A'&&a<='Z'){
now.push_back(biao[a-'A']+'0');
}else{
now.push_back(a);
}
}
return now;
}
string s[100010];
string vs[100010];
int len=0;
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>s[i];
string tmp=jiagong(s[i]);
t[tmp].cishu++;
t[tmp].yuan=s[i];
s[i]=tmp;
if(t[tmp].cishu>1){
n--;
i--;
continue;
}
}
int max=0;
for(int i=0;i<n;i++){
if(t[s[i]].cishu>max){
max=t[s[i]].cishu;
}
}
for(int i=0;i<n;i++){
if(t[s[i]].cishu==max){
vs[len]=t[s[i]].yuan;
len++;
}
}
if(max==1){
cout<<"No duplicates."<<endl;
return 0;
}
sort(vs,vs+len);
for(int i=0;i<len;i++){
cout<<vs[i]<<" "<<max<<endl;
}
return 0;
}
样例好像过了,最近我Linux编译器有小问题
然后只AC了一个点
只过样例了是吗