7-8 File Transfer

741 ワード

タイトル
題意:I,a,b:a,b間に連絡がある場合、C,a,b:クエリa,b間に連絡があるかどうか、Sは終了操作を示し、a,b間は間接的に接続できる
tip:そしてセットを調べる
#include
using namespace std;
int father[10003];
void init() {
	for(int i=0; i<10003; ++i)
		father[i]=i;
}
int find(int x) {
	return x==father[x]?father[x]:father[x]=find(father[x]);
}
void Uion(int a,int b) {
	int x=find(a);
	int y=find(b);
	if(x!=y)
		father[x]=y;
}
int main() {
	init();
	int n;
	cin>>n;
	string query;
	cin>>query;
	while(query!="S") {
		int a,b;
		cin>>a>>b;
		if(query=="C") {
			if(find(a)==find(b))
				cout<>query;
	}
	int count=0;
	for(int i=1; i<=n; ++i)
		if(father[i]==i)
			count++;
	if(count==1)
		cout<