有没有大佬给份测试数据或指导下,我总是A不了

#include <iostream>
#include <map>
using namespace std;
map<char ,int> m;
map<int, int> p;
int main() {
    int n=2;
    int x=1;
    for (char i='A';i!='Z';i++,x++){
        if(i=='Q') {
            x--;
            continue;
        }
        m[i]+=n;
        if(x%3==0) n++;
    }
    int num;
    cin>>num;
    string s;
    int temp[7];
    while(num--){
        cin>>s;
        int k=0;
        for (int i=0;i<s.size();i++,k++)
        {
            if(s[i]=='-'){
                k--;
                continue;
            }else if(s[i]>='A'&&s[i]<='Z'){
                temp[k]=m[s[i]];
            }else if(s[i]>='0'&&s[i]<='9'){
                temp[k]=s[i]-'0';
            }
        }
        int q=temp[0];
        for (int j = 1; j <7 ; ++j) {
            q=q*10+temp[j];
        }
        p[q]++;
    }
    map<int ,int>::iterator it;
    int flag=0;
    for(it=p.begin();it!=p.end();it++) {
        if (it->second > 1) {
            printf("%03d-%04d %d\n", it->first / 10000, it->first % 10000, it->second);
            flag = 1;
        }
    }
    if(!flag) cout<<"No duplicates."<<endl;
    return 0;
}

标签: c++, oj

添加新评论