7-8 File Transfer
741 ワード
タイトル
題意:I,a,b:a,b間に連絡がある場合、C,a,b:クエリa,b間に連絡があるかどうか、Sは終了操作を示し、a,b間は間接的に接続できる
tip:そしてセットを調べる
題意: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<