1 条题解

  • 0
    @ 2026-4-1 15:21:19
    #include <bits/stdc++.h>
    using namespace std;
    
    struct Fate {
        string date, action;
    };
    
    void consume_happy(vector<Fate>& person) {
        int idx = -1;
        for (int i = 0; i < (int)person.size(); ++i) {
            if (person[i].action == "happy") {
                if (idx == -1 || person[i].date < person[idx].date) idx = i;
            }
        }
        person[idx].action = "unhappy";
    }
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
    
        int a, b, m;
        cin >> a >> b >> m;
    
        vector<Fate> p1(a), p2(b);
        for (int i = 0; i < a; ++i) cin >> p1[i].date >> p1[i].action;
        for (int i = 0; i < b; ++i) cin >> p2[i].date >> p2[i].action;
    
        for (int i = 0; i < m; ++i) {
            int op;
            string old_date, old_action, new_date, new_action;
            cin >> op;
            cin >> old_date >> old_action;
            cin >> new_date >> new_action;
    
            vector<Fate> *actor, *target;
            if (op == 1) actor = &p1, target = &p2;
            else actor = &p2, target = &p1;
    
            for (auto &x : *target) {
                if (x.date == old_date && x.action == old_action) {
                    x.date = new_date;
                    x.action = new_action;
                    break;
                }
            }
    
            consume_happy(*actor);
        }
    
        for (auto &x : p1) cout << x.date << ' ' << x.action << '\n';
        for (auto &x : p2) cout << x.date << ' ' << x.action << '\n';
        return 0;
    }
    

    信息

    ID
    246
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    169
    已通过
    18
    上传者