坑爹啊。。。 這道題不難但是還是wa了四次,首先該圖必須連通的**,其次房間號碼大小不一定從1開始,所以他的大小可以隨意的,在初始化的時候需要將持續到maxn,當直接輸入0 0的時候輸出的是yes,還有就是雖然集合合併後,但是father還不一定相同,必須find後才能相同
#includeconstint maxn=100010
;int
father[maxn],rank[maxn];
struct
node
node[maxn];
void
make_set()
}int find(int
x)
if(r!=x) father[x]=r;
return
father[x];
}void union(int x,int
y)
else
//rank[x]father[x]=y;
}}int
main()
make_set();
for(i=0;i)
else
union(x,y);
}int temp=find(node[0
].x);
/*for(i=0;i*/
for(i=0;i)
if(flag) printf("
no\n");
else printf("
yes\n");
}return0;
}
並查集 小希的迷宮
description 上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有乙個通道連通了房間a和b,那麼既可以通過它從房間a走到房間b,也可以通過它從房間b走到房間a...
小希的迷宮(並查集)
problem description 上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有乙個通道連通了房間a和b,那麼既可以通過它從房間a走到房間b,也可以通過它從...
小希的迷宮 並查集
problem description 上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有乙個通道連通了房間a和b,那麼既可以通過它從房間a走到房間b,也可以通過它從...