【周练3016.3.5】老王修马路(一)(水)
来源:互联网 发布:新浪网络经纪人 编辑:程序博客网 时间:2024/05/01 07:38
老王修马路(一)
时间限制: 1 Sec 内存限制: 128 MB提交: 41 解决: 20
[提交][状态][讨论版]
题目描述
公园终于建好了,市政府要求任意两个公园之间必须连通,即公园A到公园B至少有一条马路(并不是要求直接相连,可以通过其他公园间接相连)。 老王接下来这个任务,并设计出了对应的修路方案,下面你需要判断老王的方案是否可行。注意:两个公园直接可以存在多条路。
输入
有T组测试数据,每组测试数据有一组N(0<n<=1000)和M。N表示有N个公园,编号为1~N。M表示这N个公园之间有M条路,下面再给出M组A和B,表示公园A和公园B之间有一条路。
输出
判断所有公园是否全部连通,是输出Yes,不是输出No。
样例输入
14 31 22 33 4
样例输出
Yes
并查集水题。
代码如下:
#include <cstdio>int f[1111];int find(int x){if (x!=f[x])f[x]=find(f[x]);return f[x];}int join(int x,int y){int fx,fy;fx=find(x);fy=find(y);if (fx!=fy){f[fx]=fy;return 1;}return 0;}int main(){int u;scanf ("%d",&u);int n,m;//公园数,路数 int num;while (u--){num=0;scanf ("%d %d",&n,&m);for (int i=1;i<=n;i++)f[i]=i;while (m--){int x,y;scanf ("%d %d",&x,&y);if (join(x,y))num++;}if (num==n-1)printf ("Yes\n");elseprintf ("No\n");}return 0;}
0 0
- 【周练3016.3.5】老王修马路(一)(水)
- 【HPU】[1735]老王修马路(一)
- 【周练3016.3.5】老王修公园(dfs,水)
- hpu oj 老王修马路
- windows API一日一练(5)
- 每日一练5
- 【HPU】[1736]老王修马路(二)
- 一日一练(1)
- 一日一练(2)
- 每日一练(20171019)
- 每日一练(20171020)
- 每日一练(20171019)
- 每日一练(20171020)
- 蚂蚁问题 每日一练(一)
- 【周练】 几何水题 (水)
- 每日一练 Lucene3.5 建立索引
- c语言每日一练5
- 每日一练(python版本)
- web前端2016-3-5
- 世界末日
- iOS--链式编程
- 移动文件导致报错
- Activity的生命周期(四)——多个Activity相互交互的生命周期
- 【周练3016.3.5】老王修马路(一)(水)
- VS2013使用EF6与mysql数据库
- 设置元素等待
- Git本地命令行操作常用命令
- Python的单引号、双引号和三引号的字符串
- An ant's story
- 上机题目(初级)- 鼠标控制小球(Java)
- Xcode编译Undefined symbols for architecture xxx 错误总
- POJ 1006 中国余数定理