#24271: 卡在80% 最後兩題說我只輸出1行跟只輸出0行 請問錯在哪


angus.93321@gmail.com (bluemoon0321)

學校 : 國立科學工業園區實驗高級中學
編號 : 139711
來源 : [114.136.48.221]
最後登入時間 :
2021-08-21 11:35:29
a445. 新手訓練系列- 我的朋友很少 -- 新手訓練系列 ~ 4 | From: [220.137.83.23] | 發表日期 : 2021-02-02 11:39

#include<bits/stdc++.h>

using namespace std;

int find_root(int x);

void line(int x,int y);

int boss[1000001];

int main(){

int n,m,q;

int a[q];

cin>>n;

for(int i=0;i<=n;i++){

boss[i]=i;

}

cin>>m>>q;

for(int i=0;i<m;i++){

int n1,n2;

cin>>n1>>n2;

line(n1,n2);

}

for(int i=0;i<q;i++){

int n1,n2;

cin>>n1>>n2;

if(find_root(n1)==find_root(n2)) a[i]=1;

else a[i]=0;

}

for(int i=0;i<q;i++){

if(a[i]==1) cout<<":)"<<endl;

else cout<<":("<<endl;

}

int find_root(int x){

if(boss[x]==x) return x;

int root_x=find_root(boss[x]);

boss[x]=root_x;

return root_x;

}

void line(int x,int y){

int root_x=find_root(x);

int root_y=find_root(y);

boss[root_x]=root_y;

}

 
ZeroJudge Forum