제출 #1194215

#제출 시각아이디문제언어결과실행 시간메모리
1194215zyntherixExperimental Charges (NOI19_charges)C++20
14 / 100
13 ms2052 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pi pair<int, int> #define vi vector<int> #define vs vector<string> #define vb vector<bool> #define vpi vector<pi> #define pb push_back #define all(a) (a).begin(), (a).end() const int mod = 1e9 + 7; const int N = 1e5 + 5; int par[N]; int siz[N]; void make(int x) { par[x] = x; siz[x] = 1; } int find(int x) { if (x == par[x]) { return x; } return par[x] = find(par[x]); } void join(int a, int b) { a = find(a); b = find(b); if (a != b) { if (siz[a] < siz[b]) { swap(a, b); } par[b] = a; siz[a] += siz[b]; } } signed main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int n, q; cin >> n >> q; for (int i = 1; i <= n; i++) { make(i); } while (q--) { char c; int a, b; cin >> c >> a >> b; if (c == 'Q') { cout << (find(a) == find(b) ? "R\n" : "?\n"); } else { join(a, b); } } }
#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...