QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#622941#8791. Tasks and Bugsrns_rds#WA 1ms3780kbC++231.9kb2024-10-09 08:41:062024-10-09 08:41:08

Judging History

你现在查看的是最新测评结果

  • [2024-10-09 08:41:08]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3780kb
  • [2024-10-09 08:41:06]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

int main(){
   // freopen("in.in", "r", stdin);
    string S;
    map<string, vector<string>> mp;
    vector<string> ans;
    while(getline(cin, S)){
        istringstream ist(S);
        string st, bug;
        int ok = 0;
        while(ist >> st){
            if(!ok) bug = st, ok = 1;
            else{
                if(st.back() == ','){
                    mp[st.substr(0, st.length() - 1)].push_back(bug);
                    ans.push_back(st.substr(0, st.length() - 1));
                }
                else {
                    mp[st].push_back(bug), ans.push_back(st);
                }
            }
        }
    }
    sort(ans.begin(), ans.end(), [&](string x, string y){
        int a = 0, b = 0;
        for(int i = x.length() - 1;i >= 3;i --){
            a *= 10;
            a += x[i] - '0';
        }
        for(int i = y.length() - 1;i >= 3;i --){
            b *= 10;
            b += y[i] - '0';
        }
        return a < b;
    });
    ans.resize(unique(ans.begin(), ans.end()) - ans.begin());
    for(auto key : ans){
        for(int i = 0;i < key.length();i ++) if(key[i] != ',') cout << key[i];
        cout << ": ";

        sort(mp[key].begin(), mp[key].end(), [&](string x, string y){
            int a = 0, b = 0;
            for(int i = x.length() - 1;i >= 3;i --){
                a *= 10;
                a += x[i] - '0';
            }
            for(int i = y.length() - 1;i >= 3;i --){
                b *= 10;
                b += y[i] - '0';
            }
            return a < b;
        });
        
        for(int i = 0;i < mp[key].size();i ++){
            for(int j = 0;j < mp[key][i].length();j ++){
                if(mp[key][i][j] != ':') cout << mp[key][i][j];
            }
            if(i  + 1 < mp[key].size()) cout << ", ";
            else cout << '\n';
        } 
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3612kb

input:

CS-20: CS-1
CS-100: CS-239
CS-300: CS-239, CS-11111

output:

CS-1: CS-20
CS-239: CS-100, CS-300
CS-11111: CS-300

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

CS-1: CS-239, CS-1239, CS-2239, CS-3239, CS-4239, CS-5239, CS-6239, CS-7239, CS-8239, CS-9239
CS-1001: CS-239, CS-1239, CS-2239, CS-3239, CS-4239, CS-5239, CS-6239, CS-7239, CS-8239, CS-9239
CS-2001: CS-239, CS-1239, CS-2239, CS-3239, CS-4239, CS-5239, CS-6239, CS-7239, CS-8239, CS-9239
CS-3001: CS-...

output:

CS-239: CS-1, CS-1001, CS-2001, CS-3001, CS-4001, CS-5001, CS-6001, CS-7001, CS-8001, CS-9001
CS-1239: CS-1, CS-1001, CS-2001, CS-3001, CS-4001, CS-5001, CS-6001, CS-7001, CS-8001, CS-9001
CS-2239: CS-1, CS-1001, CS-2001, CS-3001, CS-4001, CS-5001, CS-6001, CS-7001, CS-8001, CS-9001
CS-3239: CS-1, C...

result:

ok 10 lines

Test #3:

score: -100
Wrong Answer
time: 1ms
memory: 3644kb

input:

CS-108: CS-1
CS-239: CS-1
CS-613: CS-1
CS-783: CS-1
CS-1389: CS-1
CS-1976: CS-1
CS-3098: CS-1
CS-6607: CS-1
CS-6666: CS-1
CS-7411: CS-1
CS-9701: CS-1
CS-14289: CS-1
CS-14486: CS-1
CS-16691: CS-1
CS-16958: CS-1
CS-17201: CS-1
CS-17796: CS-1
CS-22371: CS-1
CS-23824: CS-1
CS-25531: CS-1
CS-26215: CS-1
...

output:

CS-1: CS-613, CS-783, CS-108, CS-239, CS-9701, CS-7411, CS-6666, CS-1976, CS-6607, CS-3098, CS-1389, CS-34830, CS-70240, CS-56170, CS-46180, CS-17201, CS-30611, CS-57611, CS-25531, CS-90731, CS-57441, CS-97861, CS-22371, CS-16691, CS-56032, CS-59432, CS-83542, CS-84152, CS-60552, CS-41482, CS-28292,...

result:

wrong answer 1st lines differ - expected: 'CS-1: CS-108, CS-239, CS-613, ...5, CS-97627, CS-97861, CS-99439', found: 'CS-1: CS-613, CS-783, CS-108, ...9, CS-41379, CS-47779, CS-14289'