九度OJ题目1109:连通图
来源:互联网 发布:淘宝商城的商品特色 编辑:程序博客网 时间:2024/05/01 21:22
- 题目描述:
给定一个无向图和其中的所有边,判断这个图是否所有顶点都是连通的。
- 输入:
每组数据的第一行是两个整数 n 和 m(0<=n<=1000)。n 表示图的顶点数目,m 表示图中边的数目。如果 n 为 0 表示输入结束。随后有 m 行数据,每行有两个值 x 和 y(0<x, y <=n),表示顶点 x 和 y 相连,顶点的编号从 1 开始计算。输入不保证这些边是否重复。
- 输出:
对于每组输入数据,如果所有顶点都是连通的,输出"YES",否则输出"NO"。
- 样例输入:
4 31 22 33 23 21 22 30 0
- 样例输出:
NOYES
- 来源:
- 2011年吉林大学计算机研究生机试真题
- 答疑:
解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7832-1-1.html
#include <cstdio>const int maxn=1005;int tree[maxn];int findRoot(int x){ if(tree[x]==-1) return x; else{ int tmp=findRoot(tree[x]); tree[x]=tmp; return tmp; }}int main(){ int n,m; while(scanf("%d%d",&n,&m)==2&&n){ for(int i=1;i<=n;i++) tree[i]=-1; for(int i=1;i<=m;i++){ int a,b; scanf("%d%d",&a,&b); a=findRoot(a); b=findRoot(b); if(a!=b) tree[a]=b; } int ans=0; for(int i=1;i<=n;i++) if(tree[i]==-1) ans++; if(ans==1) puts("YES"); else puts("NO"); }}
阅读全文
0 0
- 九度oj 题目1109:连通图
- 题目1109:连通图 九度OJ
- 九度OJ题目1109:连通图
- 【九度OJ】题目1109:连通图 解题报告
- <九度 OJ>题目1545:奇怪的连通图
- 九度oj-1109-连通图
- 九度OJ - 1109 - 连通图
- 九度OJ 1109 连通图
- 九度OJ-1109:连通图
- 九度 题目1109:连通图
- 九度题目1109:连通图
- 九度 题目1109:连通图
- 九度 题目1109:连通图
- 九度oj 题目1347:孤岛连通工程
- 九度OJ 题目1012:畅通工程 (并查集,连通子图)
- 九度OJ 1109:连通图 (最小生成树)
- 九度OJ——1109连通图
- 九度1109:连通图
- 欢迎使用CSDN-markdown编辑器
- SQL--基本数据类型
- 折腾了一天, 我的TMS320C6713 JTAG 终于通了
- 医药采购项目中PL/SQL乱码问题解决
- 为什么开发Android应用配置了SDK还要配置JDK
- 九度OJ题目1109:连通图
- unacceptable content-type: text/plain}
- C++编译器默认生成的函数
- Picasso清空缓存策略(如更换头像)
- 坚持#第199天~尴尬了,上传的图片都未成功
- Gradle构建项目
- 底层文件I/O和ANSI标准I/O的区别
- js面向对象
- 一、(四)OOP 规约