POJ 2524 Ubiquitous Religions(并查集)
2018-01-30 08:43
507 查看
http://poj.org/problem?id=2524
分析:
并查集模板题
AC代码:
#include <stdio.h>
int pre[50005];
int find(int n){
int flag=n;
while (pre[flag]!=flag){
flag=pre[flag];
}
int temp;
int i=n;
while (i!=flag){
temp=pre[i];
pre[i]=flag;
i=temp;
}
return flag;
}
/*
int find(int x)
{
if(x==pre[x])
return x;
return pre[x]=find(pre[x]);
}
*/
void join(int x,int y){
int fx=find(x);
int fy=find(y);
if (fx!=fy){
pre[fx]=fy;
}
}
int main (){
int n,m;
int Case=1;
while (scanf("%d%d",&n,&m)&&(n||m)){
for (int i=1;i<=n;i++)
pre[i]=i;
int x,y;
for (int i=0;i<m;i++){
scanf ("%d%d",&x,&y);
join(x,y);
}
int count=0;
for (int i=1;i<=n;i++){
if(pre[i]==i)
count++;
}
printf ("Case %d: %d\n",Case++,count);
}
return 0;
}
分析:
并查集模板题
AC代码:
#include <stdio.h>
int pre[50005];
int find(int n){
int flag=n;
while (pre[flag]!=flag){
flag=pre[flag];
}
int temp;
int i=n;
while (i!=flag){
temp=pre[i];
pre[i]=flag;
i=temp;
}
return flag;
}
/*
int find(int x)
{
if(x==pre[x])
return x;
return pre[x]=find(pre[x]);
}
*/
void join(int x,int y){
int fx=find(x);
int fy=find(y);
if (fx!=fy){
pre[fx]=fy;
}
}
int main (){
int n,m;
int Case=1;
while (scanf("%d%d",&n,&m)&&(n||m)){
for (int i=1;i<=n;i++)
pre[i]=i;
int x,y;
for (int i=0;i<m;i++){
scanf ("%d%d",&x,&y);
join(x,y);
}
int count=0;
for (int i=1;i<=n;i++){
if(pre[i]==i)
count++;
}
printf ("Case %d: %d\n",Case++,count);
}
return 0;
}
相关文章推荐
- poj 2524 Ubiquitous Religions(并查集)
- POJ训练计划2524_Ubiquitous Religions(并查集)
- poj 2524 Ubiquitous Religions——我感觉是并查集(分类是分治)
- POJ 2524 Ubiquitous Religions (并查集)
- POJ2524 Ubiquitous Religions (并查集)
- poj 2524宗教信仰 并查集水题
- POJ-2524 Ubiquitous Religions【并查集】
- poj 2524:Ubiquitous Religions(并查集,入门题)
- POJ 2524 Ubiquitous Religions (并查集 II)
- POJ - 2524 Ubiquitous Religions(简单并查集)
- POJ 2524 并查集
- poj 2524 Ubiquitous Religions(并查集)
- poj 2524(并查集-求连通子集的个数)
- poj 2524 这是并查集的最简模型了吧
- poj 2524 求连通分量(并查集模板题)
- (模板题)poj 2524 Ubiquitous Religions(并查集)
- POJ 2524 并查集
- POJ 2524 Ubiquitous Religions【并查集模板】
- POJ 2524 Ubiquitous Religions 并查集
- poj 2524 Ubiquitous Religions(并查集)