@Misserina 欸这里说的是入门赛。当然他入门赛和月赛都交的是 AI 代码。

他的入门赛 H 的代码,根据提交记录来看只写了 2 分钟。:

#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_set>
using namespace std;
struct Team {
    string name;
    vector<string> members;
    int match_id;
    int rank;
    Team(string n, vector<string> m, int id, int r) 
        : name(n), members(m), match_id(id), rank(r) {}
    bool operator<(const Team& other) const {
        if (rank == other.rank) return match_id < other.match_id;
        return rank < other.rank;
    }
};
unordered_set<string> qualified_pigs;
vector<Team> teams;
int main() {
    int n, m, t, k;
    cin >> n >> m >> t >> k;
    for (int i = 0; i < n; ++i) {
        string name, s1, s2, s3;
        int id, r;
        cin >> name >> s1 >> s2 >> s3 >> id >> r;
        vector<string> members = {s1, s2, s3};
        teams.push_back(Team(name, members, id, r));
    }
    sort(teams.begin(), teams.end());
    vector<Team> qualified_teams;
    for (int i = 0; i < k; ++i) {
        bool found = false;
        
        for (auto& team : teams) {
            bool can_qualify = true;
            for (const string& pig : team.members) {
                if (qualified_pigs.count(pig) > 0) {
                    can_qualify = false;
                    break;
                }
            }
            
            if (can_qualify) {
                qualified_teams.push_back(team);
                for (const string& pig : team.members) {
                    qualified_pigs.insert(pig);
                }
                found = true;
                break;
            }
        }
        
        if (!found) break;
    }
    cout << qualified_teams.size() << endl;
    for (auto& team : qualified_teams) {
        cout << team.name << " ";
        for (const string& pig : team.members) {
            cout << pig << " ";
        }
        cout << endl;
    }
    return 0;
}
2024/12/15 11:04
8457
chen_zheAya楼主2024/12/15 11:04