快来A水题"/>
大家快来A水题
Description
海上有N(1<= N <=2000)个岛,编号从1到N,同一部落的岛屿之间有直接或间接的路相连,不同部落之间无路可通。现在给出M(1<= M <= N*(N-1)/2)条路。问这片海域上共有多少部落。
Input
多组输入。每组第一行输入N,M。接下来M行每行,每行两个整数u,v代表岛u与v之间有一条路。
Output
每组数据输出一个整数,代表部落数。
Sample
Input
3 1 1 2 3 2 1 2 1 3
Output
2 1
Hint
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int isla[2000] = {0};
int iget(int v){if(isla[v] == v){return v;}else{isla[v] = iget(isla[v]);return isla[v];}
}
void imerge(int u, int v){int u1;int v1;u1 = iget(u);v1 = iget(v);if(u1 != v1){isla[v1] = u1;}
}
int main(){int n, m;int i;int t;int u, v;while(~scanf("%d %d", &n, &m)){if(n == 0){printf("
更多推荐
大家快来A水题
发布评论