代码求调
查看原帖
代码求调
755022
Remelens楼主2022/10/23 10:56

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了一个点

只过样例了是吗

2022/10/23 10:56
加载中...