제출 #724955

#제출 시각아이디문제언어결과실행 시간메모리
724955josanneo22Inside information (BOI21_servers)C++17
2.50 / 100
3562 ms377080 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int rd(){
	int x=0,w=1;
	char ch=getchar();
	for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;
	for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';
	return x*w;
}
int maxn=5000;
vector<set<int>> st(maxn);
void solve(){
	int n,q; cin>>n>>q;
	for(int i=1;i<=n;i++){
		st[i].insert(i);
	}
	for(int i=0;i<n+q-1;i++){
		char x; cin>>x;
		if(x=='C'){
			int v; cin>>v;
			int cnt=0;
			for(int j=1;j<=n;j++){
				if(st[j].find(v)!=st[j].end()) cnt++;
			}
			cout<<cnt<<'\n';
		}
		else if(x=='Q'){
			int u,v; cin>>u>>v;
			auto pos=st[u].find(v);
			if(pos==st[u].end()) cout<<"no\n";
			else cout<<"yes\n";
		}
		else{
			int u,v; cin>>u>>v;
			for(auto&p:st[u]) st[v].insert(p);
			for(auto&p:st[v]) st[u].insert(p);
		}
	}
}
signed main()
{
	ios_base::sync_with_stdio(0); cin.tie(0);
	int tt=1; //cin>>tt;
	while(tt--){
		solve();
	}
}
#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...