大家快來A水題

2021-07-13 23:29:14 字數 693 閱讀 7194

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

(1<= n <=2000)

(1<= m <= n*(n-1)/2)

多組輸入。每組第一行輸入n,m。接下來m行每行,每行兩個整數u,v代表島u與v之間有一條路。

每組資料輸出乙個整數,代表部落數。

3 1

1 23 2

1 21 3

2

#include #include #include #include #include using namespace std;

int f[20020];

int find(int x)//尋找當前這個島的對應的源頭

void link(int a, int b)//從給出的資訊裡建立兩個島之間的聯絡

int main()

int sum = 0;

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

if (f[i] == i)//不相等的話證明是與其他的島有相連

//連在一起的的島中總有乙個島是其原來對應的編號(這個島叫源頭)

sum++;

cout << sum << endl;

}return 0;

}

大家快來A水題

大家快來a水題 time limit 1000ms memory limit 65536kb submit statistic discuss problem description 海上有n 1 n 2000 個島,編號從1到n,同一部落的島嶼之間有直接或間接的路相連,不同部落之間無路可通。現在給...

大家快來A水題 2805

problem description 海上有n 1 n 2000 個島,編號從1到n,同一部落的島嶼之間有直接或間接的路相連,不同部落之間無路可通。現在給出m 1 m n n 1 2 條路。問這片海域上共有多少部落。input 多組輸入。每組第一行輸入n,m。接下來m行每行,每行兩個整數u,v代表...

2805 大家快來A水題

1 include 2 include 3 int n,m 並查集。4int a 100000 5 void creat 用來給每個單位賦值的,每個單位的值代表他們的上一級。612 return 13 14int find int x 尋找上一級的上一級,知道找到幕後 1521 return a x...