Ice_cream's world I
2015-07-29 20:41
323 查看
Problem Description
ice_cream's world is a rich country, it has many fertile lands. Today, the queen of ice_cream wants award land to diligent ACMers. So there are some watchtowers are set up, and wall between watchtowers be build, in order to partitionthe ice_cream’s world. But how many ACMers at most can be awarded by the queen is a big problem. One wall-surrounded land must be given to only one ACMer and no walls are crossed, if you can help the queen solve this problem, you will be get a land.
Input
In the case, first two integers N, M (N<=1000, M<=10000) is represent the number of watchtower and the number of wall. The watchtower numbered from 0 to N-1. Next following M lines, every line contain two integers A, B mean between A andB has a wall(A and B are distinct). Terminate by end of file.
Output
Output the maximum number of ACMers who will be awarded.One answer one line.
Sample Input
8 10 0 1 1 2 1 3 2 4 3 4 0 5 5 6 6 7 3 6 4 7
Sample Output
3
Author
WiskeySource
本题考查并查集,主要该思考的点式要围成一块地方,那么这个集合是联通的所以有相同根的时候就是一个地方,每相等一次,就加一次,以下是我写的代码。#include<stdio.h>
int a[1000],n,m,d,b;
void fu()//给数组初始化,令值等于本身的角标
{
int i;
for(i=0;i<=n-1;i++)
a[i]=i;
}
int fine(int x)//寻找根节点的函数
{
int r=x;
while(r!=a[r])
r=a[r];
int i,j;
i=x;
while(i!=r)
{
j=a[i];
a[i]=r;
i=j;
}
return r;
}
void join(int x,int y)//并两个集合的函数
{int fx,fy;
fx=fine(x);
fy=fine(y);
if(fx!=fy)
a[fx]=fy;
}
int main()
{
while(scanf("%d%d",&n,&m)!=EOF)
{
int c=0;
fu();
while(m--)
{
scanf("%d%d",&d,&b);
if(fine(d)==fine(b))//每两个元素的根节点相同,就加一个地方
c++;
else
join(d,b);
}
printf("%d\n",c);
}
return 0;
}
相关文章推荐
- 菜鸟学习百度地图总结
- Word Break
- HALCON算子函数——Chapter 3 : Develop
- HALCON算子函数——Chapter 4 : File
- HALCON算子函数——Chapter 2 : Control
- 发送接收的项目总结
- c语言中冒泡排序、插入排序、选择排序算法比较
- 绘制直方图Histogram
- Word Break
- UVA-10497 Sweet Child Makes Trouble (计数+高精度)
- 19.Remove Nth Node From End of List(List; Two-Pointers)
- 黑马程序员———IO转换流笔记
- HALCON算子函数——Chapter 5 : Filter
- ZOJ 3447 Doraemon's Number Game(Java优先队列·BigInteger)
- The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near
- Struts基础概念
- 2015年7月29日
- QT之设计部件背景色
- hdoj2120 Ice_cream's world I【并查集】
- poj3253 Fence Repair