Submission #863705

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