HDOJ 1272 小希的迷宮

2022-07-25 09:21:06 字數 908 閱讀 4815

**:tanky woo

判斷兩點:

1.任何2點的父節點不能相同->否則會導致2點間有多條通路

2.所有點只有1個集合

**:

//

author: tanky woo

//hdoj 1272

#include using

namespace

std;

#define max 100001 //

father[x]表示x的父節點

intfather[max];

//rank[x]表示x的秩

intrank[max]; //

初始化void make_set(intn)}

//查詢int find_set(intx)

//合併

void union(int x, inty)}

intmain()

make_set(max);

rank[a]=1

; rank[b]=1

; union(a, b);

int flag=1; //

表示是否有多條路

while(scanf("

%d %d

", &a, &b) && (a+b))

int cnt = 0

;

for(int i=1; i<=max; ++i)

if(rank[i] && find_set(i) ==i)

cnt++;

if(flag && cnt==1

) printf(

"yes\n");

else

printf(

"no\n");

}return0;

}

hdoj 1272 小希的迷宮

題目 關鍵點 1.特別小心輸入的格式,這個比較糾結。2.題目的最關鍵點 1 所有點的根節點都相同 即下面的count 1 2 輸入路徑不存在回來,這裡用flag來標記回來 即構成迴路,flag 1 3.注意find3 int x 這裡用路徑壓縮的話,速度會快很多 用空間來換時間 ac include...

hdoj1272小希的迷宮

problem description 上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有乙個通道連通了房間a和b,那麼既可以通過它從房間a走到房間b,也可以通過它從...

HDOJ 1272 小希的迷宮

題目描述 上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓gardon來走。但是她設計迷宮的思路不一樣,首先她認為所有的通道都應該是雙向連通的,就是說如果有乙個通道連通了房間a和b,那麼既可以通過它從房間a走到房間b,也可以通過它從房間b走到房間a,為了提高難度...