杭电1232畅通project
畅通project
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 29482 Accepted Submission(s): 15497
问最少还须要建设多少条道路?
为简单起见,城镇从1到N编号。
注意:两个城市之间能够有多条道路相通,也就是说
3 3
1 2
1 2
2 1
这样的输入也是合法的
当N为0时,输入结束,该用例不被处理。
4 2
1 3
4 3
3 3
1 2
1 3
2 3
5 2
1 2
3 5
999 0
0
1
0
2
998 这道题是典型的并查集题,刚学会并查集,做了这道简单的题代码:#include<stdio.h>
#include<string.h>
int a[1001] ;
int find(int x)
{
if(a[x] == x)
return x ;
return find(a[x]);
}
void merge(int x,int y)
{
int m1 = find(x) ;
int m2 = find(y) ;
if(m1 != m2)
a[m2] = m1;
}
int main()
{
int N = 0 , M = 0 ;
while(~scanf("%d",&N))
{
M = 0 ;
if( N == 0 )
break ;
int i = 0 ,j = 0 ;
memset(a , 0 , sizeof(a));
for(i = 1 ;i <= N ; i++)
a[i] = i ;
scanf("%d", &M);
int x = 0, y = 0 ;
for(i = 0 ; i < M ; i++)
{
scanf("%d%d",&x,&y);
merge(x , y) ;
}
int count = 0 ;
for(i = 1 ;i <= N ; i++)
if(a[i] == i)
count++;
printf("%d\n",count-1);
}
return 0 ;
}
杭电1232畅通project的更多相关文章
- 杭电1874畅通project绪
畅通project续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 杭电1863 畅通project
畅通project Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 畅通project(杭电1232)
畅通project Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- hdu 1232 畅通project
题目: 链接:点击打开链接 算法: 赤裸裸的并查集. 代码: #include<iostream> #include<cstdio> #include<cstring&g ...
- 畅通project(杭电1863)
畅通project Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 杭电1233还是畅通project
还是畅通project Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- 杭电1879继续畅通project
继续畅通project Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 畅通project续HDU杭电1874【dijkstra算法 || SPFA】
http://acm.hdu.edu.cn/showproblem.php?pid=1874 Problem Description 某省自从实行了非常多年的畅通project计划后.最终修建了非常多 ...
- 还是畅通project(杭州电1233)
还是畅通project Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
随机推荐
- AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署
一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...
- PHP14 动态图像处理
学习要点 如何使用PHP中的GD库 设计验证码类 PHP图片处理 设计图像图处理类 如何使用PHP中的GD库 在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站 ...
- 初见Vue
一.What 官方定义:是一套用于构建用户界面的渐进式框架.这,what?不明觉厉,我反正现在还是不知道,在这之前,就只知道Vue.js是用来渲染数据的,其实它的核心库只关注视图层.不多说,用多了就知 ...
- iOS之绘制像素到屏幕
译注:这篇文章虽然比较长,但是里面的内容还是很有价值的. 像素是如何绘制到屏幕上面的?把数据输出到屏幕的方法有很多,通过调用很多不同的framework和不同的函数.这里我们讲一下这个过程背后的东西. ...
- XML 解析 & 特殊字符报错
在xml文件中,有一些符号是具有特殊意义的,如果直接使用会导致xml解析报错,为了避免错误,我们需要将特殊的字符使用其对应的转义实体进行操作.这些字符如下 < == < > = ...
- django实现github第三方本地登录
1.安装 pip install social-auth-app-django 2.生成Client ID和Client Secret 3.修改setting.py INSTALLED_APPS = ...
- C++:别名 / 引用 的简单实用
文章来源:http://www.cnblogs.com/hello-tl/p/7910048.html /* C++别名操作 在更改别名的时候同时变量也会跟着改变 */ #include " ...
- tornado框架基础11-tornado异步
01 同步和异步 生活中常常会遇到在超市排队买东西的情况,排在你前面的人没有结算完成,你就无法付账,在计算机中也有类似的情形,一个程序在执行之前,需要等待其他的程序执行完成,大家还能举出其他的例子吗? ...
- 爬虫app信息抓取之apk反编译抓取
之前也抓过一些app,数据都比较好取,也没有研究的太深,毕竟还有android 模拟器+ appium 的方法.直到遇见了一款app ,具体名字就不说了,它安装在模拟器上竟然打不开 !!第一次遇见上网 ...
- NBUT 1651 - Red packet (求运气王的钱数)(二分法)
Description New Year is coming! Our big boss Wine93 will distribute some “Red Package”, just like Al ...