SOJ 連通性問題

2022-09-18 17:18:10 字數 1249 閱讀 6629

description

關係r具有對稱性和傳遞性。數對p q表示prq,p和q是0或自然數,p不等於q。

要求寫乙個程式將數對序列進行過濾,如果乙個數對可以通過前面數對的傳遞性得到,則將其濾去。例如:

輸入    輸出  連通性

3 4   3 4   

4 9   4 9

8 0   8 0

2 3   2 3

5 6   5 6

2 9     2-3-4-9

5 9   5 9

7 3   7 3

4 8   4 8

5 6   5-6

0 2     0-8-4-3-2

6 1   6 1

其中數對2 9和0 2可由之前數對的連通關係得到,故不做輸出。

input

輸入共有m行(0<=m<=1000000),每行乙個數對,數對的數字之間以1個空格分隔;數對的數字為0或n=100000以內的自然數。

output

輸出包含過濾之後的數對序列。每行輸出乙個數對,數對的數字之間以1個空格分隔。

sample input

copy sample input to clipboard

3 4

4 98 0

2 35 6

2 95 9

7 34 8

5 60 2

6 1

sample output

3 4

4 98 0

2 35 6

5 97 3

4 86 1

//在本題中要刪去所有具有連通性的結點,而具有連通性的結點的性質是

//在圖中具有相同的祖先,則我們只要通過判斷兩個結點是否存在相同的祖先

//即可判斷是否需要刪去,最直接的做法是每插入一對結點,dfs或bfs,判斷是否搜尋到相同的點

//但這樣做法時間複雜度太大,在一開始時就讓每個結點指向自己的祖先結點

#includeusing namespace std;

const int max = 1000005;

int father[max];

int find(int num)

int main()

}return 0;

}

連通性問題

1 伺服器可以ping通客戶端,說明伺服器和客戶端之間的鏈路是通的。客戶端不能ping通伺服器,很可能是防火牆的原因,包括伺服器本身自帶的防火牆和伺服器與交換機之間的cisco asa 5505防火牆。防火牆的訪問規則中清除禁止ping入之類的規則,或者清除拒絕接收icmp包的規則。2 ping不通...

動態連通性問題

首先定義演算法的api 方法作用 uf int n 初始化觸點及其他資料 int find int p 返回p所在連通分量的識別符號 int union int p,int q 在p和q之間新增一條線 int count 返回連通分量的數量 boolean connected int p,int q...

網路連通性問題排查

眾所周知,網路的基本解耦方式就是分層。針對閘道器連通性問題的排查我們可以順著網路協議站的層次進行排查。針對不同的應用層協議有不同的排查方法 1.1 通用的dns應用排查,首先如果我們使用服務的使用沒有直接使用ip位址而是使用網域名稱的話。服務無法連通,我們首先要考慮網域名稱解析服務是否存在問題。排查...