#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |