问题 D: 小明的迷宫
题目描述
小明的生日聚会在一个城堡举行,为了让小伙伴们在生日聚会上可以增加乐趣,小明正在设计一个迷宫游戏。
城堡里有N个房间,有些房间之间会搭建双向的通道。小明希望从任何一个房间A都可以走到另外房间B,可以是从A直接走到房间B,也可以中间通过若干个房间走到。
为了增加难度,小明希望在不走回头路的情况下,从任何一个房间A走到另一个房间B只有一种走法。
小明请你写一个程序,判断他的设计是否符合要求。
输入
M(1<=M<=10^6)个整数对(A,B) ,表示房间编号(所有房间编号至少是1 ,不超过10^5),表示房间 A有直接通到的房间B的通道。
A=B=0的时候表示数据结束。每个房间至少会出现一次。
输出
输出一行。如果符合小明的要求,输出 Yes,否则输出 No。
这道题老师说用并查集,可是我没想到怎么做。