#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
template<typename T>
using vec = vector<T>;
const int maxN = 4100;
int n,k;
bitset<maxN> sets[maxN];
int cnt[maxN];
int main(){
ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
cin >> n >> k;
for (int i = 0; i < n; i++){
sets[i][i] = 1;
cnt[i] = 1;
}
for(int i = 0; i < n+k-1; i++){
char tc; cin >> tc;
if (tc == 'S'){
int a,b; cin >> a >> b;
a--; b--;
bitset<maxN> xorVal = sets[a] ^ sets[b];
for (int i = 0; i < n; i++){
if (xorVal[i]) cnt[i]++;
}
sets[a] = sets[b] = sets[a] | sets[b];
}
else if (tc == 'Q'){
int a,b; cin >> a >> b; a--; b--;
if (sets[a][b]) cout << "yes" << endl;
else cout << "no" << endl;
}
else{
int d; cin >> d; d--;
cout << cnt[d] << endl;
}
}
return 0;
}
| # | 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... |
| # | 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... |