Submission #863704

#TimeUsernameProblemLanguageResultExecution timeMemory
863704TAhmed33Inside information (BOI21_servers)C++98
0 / 100
3548 ms387724 KiB
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 4001;
set <int> dd[MAXN];
set <int> pp[MAXN];
int main () {
	int n, k;
	cin >> n >> k;
	for (int i = 1; i <= n; i++) {
		dd[i].insert(i); pp[i].insert(i);
	}
	for (int i = 1; i <= n + k - 1; i++) {
		char c;
		cin >> c;
		if (c == 'S') {
			int a, b;
			cin >> a >> b;
			for (auto j : dd[b]) dd[a].insert(j);
			for (auto j : dd[a]) dd[b].insert(j);
			for (auto j : dd[b]) pp[j].insert(b);
			for (auto j : dd[a]) pp[j].insert(a);
		} else if (c == 'Q') {
			int x, y;
			cin >> x >> y;
			cout << (dd[x].count(y) ? "yes\n" : "no\n");
		} else {
			int x;
			cin >> x;
			cout << pp[x].size() << '\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...
#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...