1526 宗教信仰

2021-07-24 21:12:28 字數 1021 閱讀 5034

總時間限制: 

5000ms 

記憶體限制: 

65536kb

描述

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

你的學校有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 21 3

1 41 5

1 61 7

1 81 9

1 10

10 4

2 34 5

4 85 8

0 0

樣例輸出

case 1: 1

case 2: 7

#include#includeusing namespace std;

int n,m;

int ans,numcase;

const int maxn=1e5;

int fa[maxn];

int find(int x)

void merge(int x,int y)

int main()

for(int i=1;i<=n;i++) if(fa[i]==i) ans++;

printf("case %d: ",numcase);

printf("%d\n",ans);

}return 0;

}

NOI題庫 1526 宗教信仰

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

OpenJudge 1526 宗教信仰

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

NOI題庫4 3 1526 宗教信仰

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