首页 > 代码库 > rwkj 1408
rwkj 1408
//1480#include<stdio.h>const int MAX=50010; int p[MAX];int n,m;void init(int k) { for (int i=1; i<=k; i++) p[i]=i; }int find(int x) //??????{ if (x==p[x]) return x; else return p[x]=find(p[x]);} void merge(int x,int y) //??????{ int px,py; px=find(x); py=find(y); if (px!=py) {p[px]=py;n--;} }int main(){ int i,y,x,c=1; while(scanf("%d%d",&n,&m)!=EOF) { init(n); for(i=1;i<=m;i++) { scanf("%d%d",&x,&y); merge(x,y); } printf("Case %d: %d\n",c++,n); } return 0;}
//1480
#include<stdio.h>
const int MAX=50010;
int p[MAX];
int n,m;
void init(int k)
{ for (int i=1; i<=k; i++) p[i]=i; }
int find(int x) //??????
{ if (x==p[x]) return x;
else return p[x]=find(p[x]); }
void merge(int x,int y) //??????
{ int px,py; px=find(x); py=find(y); if (px!=py) {p[px]=py;n--;}
}
int main()
{
int i,y,x,c=1;
while(scanf("%d%d",&n,&m)!=EOF)
{
init(n);
for(i=1;i<=m;i++)
{ scanf("%d%d",&x,&y);
merge(x,y); }
printf("Case %d: %d\n",c++,n);
}
return 0;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。