NOI題庫4 3 1526 宗教信仰

2021-07-06 09:44:02 字數 1014 閱讀 3662

描述

世界上有許多宗教,你感興趣的是你學校裡的同學信仰多少種宗教。

你的學校有n名學生(0 < n <= 50000),你不太可能詢問每個人的宗教信仰,因為他們不太願意透露。但是當你同時找到2名學生,他們卻願意告訴你他們是否信仰同一宗教,你可以通過很多這樣的詢問估算學校裡的宗教數目的上限。你可以認為每名學生只會信仰最多一種宗教。

輸入 輸入包括多組資料。

每組資料的第一行包括n和m,0 <= m <= n(n-1)/2,其後m行每行包括兩個數字i和j,表示學生i和學生j信仰同一宗教,學生被標號為1至n。輸入以一行 n = m = 0 作為結束。

輸出 對於每組資料,先輸出它的編號(從1開始),接著輸出學生信仰的不同宗教的數目上限。

樣例輸入

10 9

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

1 10

10 4

2 3

4 5

4 8

5 8

0 0

樣例輸出

case 1: 1

case 2: 7

非常簡單的純並查集,沒有任何難度···

#include

#include

#include

using

namespace

std;

const

int n=50005;

int f[n];

int findr(int x)

}void merge(int v,int u)

int main()

ans=0;

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

if(f[i]==i)

ans++;

cout

<<"case "

<": "

0;}

NOI題庫 1526 宗教信仰

description 世界上有許多宗教,你感興趣的是你學校裡的同學信仰多少種宗教。你的學校有n名學生 0 n 50000 你不太可能詢問每個人的宗教信仰,因為他們不太願意透露。但是當你同時找到2名學生,他們卻願意告訴你他們是否信仰同一宗教,你可以通過很多這樣的詢問估算學校裡的宗教數目的上限。你可以...

NOI題庫1 3答案

第一題 a b問題 include using namespace std int main 第七題 計算多項式的值 include include using namespace std int main 第八題?溫度表達轉化 include include using namespace std...

NOI題庫1 4答案

第一題 判斷數正負 includeusing namespace std int main 第三題 奇偶數判斷 includeusing namespace std int main 由於編譯器原因,加了pause,新版本可刪除第四題 奇偶ascii值判斷 include 萬能標頭檔案,這個標頭檔案...