Submission #1284894

#TimeUsernameProblemLanguageResultExecution timeMemory
1284894quanlmExperimental Charges (NOI19_charges)C++20
18 / 100
14 ms1284 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long
#define fi first
#define se second
#define oo 1e18
#define pb push_back
#define ii pair<int, int>
#define iii pair<int, ii>
#define TASK "TEST"

int n, q;
int e[100005];

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    cin >> n >> q;

    while (q--) {
        char type;
        cin >> type;

        if (type == 'A') {
            int a, b;
            cin >> a >> b;

            if (e[a] == 0) {
                if (e[b] == 0) e[a] = 1, e[b] = -1;
                else e[a] = -e[b];
            } else if (e[b] == 0) {
                if (e[a] == 0) e[a] = 1, e[b] = -1;
                else e[b] = -e[a];
            } else if (e[a] == e[b]) {
                e[b] = -e[a];
            }
        } else if (type == 'R') {
            int a, b;
            cin >> a >> b;

            if (e[a] == 0 && e[b] == 0) {
                e[a] = e[b] = 1;
            } else if (e[a] != e[b]) {
                if (e[a] != 0) e[b] = e[a];
                else e[a] = e[b];
            }
        } else {
            int a, b;
            cin >> a >> b;

            if (e[a] == 0 || e[b] == 0) cout << "?\n";
            else if (e[a] == e[b]) cout << "R\n";
            else cout << "A\n";
        }

//        for (int i = 1; i <= n; i++) cout << e[i] << ' ';
//        cout << '\n';
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...