歷屆試題 發現環

2021-09-20 15:42:30 字數 940 閱讀 8363

問題描述

小明的實驗室有n臺電腦,編號1~n。原本這n臺電腦之間有n-1條資料鏈結相連,恰好構成乙個樹形網路。在樹形網路上,任意兩台電腦之間有唯一的路徑相連。

不過在最近一次維護網路時,管理員誤操作使得某兩台電腦之間增加了一條資料鏈結,於是網路**現了環路。環路上的電腦由於兩兩之間不再是只有一條路徑,使得這些電腦上的資料傳輸出現了bug。

為了恢復正常傳輸。小明需要找到所有在環路上的電腦,你能幫助他嗎?

輸入格式

第一行包含乙個整數n。

以下n行每行兩個整數a和b,表示a和b之間有一條資料鏈結相連。

對於30%的資料,1 <= n <= 1000

對於100%的資料, 1 <= n <= 100000, 1 <= a, b <= n

輸入保證合法。

輸出格式

按從小到大的順序輸出在環路上的電腦的編號,中間由乙個空格分隔。

樣例輸入

51 2

3 12 4

2 55 3

樣例輸出

1 2 3 5

#include#include#includeusing namespace std;

int n;//電腦數目

int pre[100001];//並查集,pre[i]表示與第i臺電腦相連的最頂層的電腦

int mark[100001];//在進行環的遍歷時用來標記環中查詢過的電腦

int value[100001];//記錄在換上的電腦編號

vectorv[100001];//記錄與每個點相連的點

int find(int x)

void dfs(int begin,int end,int count)else

} dfs(begin,end,0);// 遍歷

return 0;

}

關於並查集:

歷屆試題 發現環

題目鏈結 問題描述 小明的實驗室有n臺電腦,編號1 n。原本這n臺電腦之間有n 1條資料鏈結相連,恰好構成乙個樹形網路。在樹形網路上,任意兩台電腦之間有唯一的路徑相連。不過在最近一次維護網路時,管理員誤操作使得某兩台電腦之間增加了一條資料鏈結,於是網路 現了環路。環路上的電腦由於兩兩之間不再是只有一...

歷屆試題 發現環

資源限制 時間限制 1.0s 記憶體限制 256.0mb daily english 雖然世界充滿苦難,但是苦難總是可以戰勝的。while the world is full of suffering,it is also full of overcoming it.小明的實驗室有n臺電腦,編號1 ...

試題 歷屆試題 發現環

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明的實驗室有n臺電腦,編號1 n。原本這n臺電腦之間有n 1條資料鏈結相連,恰好構成乙個樹形網路。在樹形網路上,任意兩台電腦之間有唯一的路徑相連。不過在最近一次維護網路時,管理員誤操作使得某兩台電腦之間增加了一條資料鏈結,於是網路...