九度题目1109:连通图
来源:互联网 发布:淘宝实名资料 编辑:程序博客网 时间:2024/04/19 02:08
题目1109:连通图
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1967
解决:979
题目描述:
给定一个无向图和其中的所有边,判断这个图是否所有顶点都是连通的。
输入:
每组数据的第一行是两个整数 n 和 m(0<=n<=1000)。n 表示图的顶点数目,m 表示图中边的数目。如果 n 为 0 表示输入结束。随后有
m 行数据,每行有两个值 x 和 y(0<x, y <=n),表示顶点 x 和 y 相连,顶点的编号从 1 开始计算。输入不保证这些边是否重复。
输出:
对于每组输入数据,如果所有顶点都是连通的,输出"YES",否则输出"NO"。
样例输入:
4 3
1 2
2 3
3 2
3 2
1 2
2 3
0 0
样例输出:
NO
YES
来源:
2011年吉林大学计算机研究生机试真题
AC代码:
1.并查集
#include<stdio.h>#include<string.h>int parent[2000];int Find(int n){ if(parent[n]!=n) parent[n]=Find(parent[n]); return parent[n];}void meger(int n,int m){ int nn=Find(n); int mm=Find(m); if(nn!=mm) parent[nn]=mm;}int main(){ int i,x,y,n,m; while(scanf("%d %d",&n,&m),n!=0) { for(i=1;i<=n;i++) parent[i]=i; for(i=0;i<m;i++) { scanf("%d %d",&x,&y); meger(x,y); } int sum=0; for(i=1;i<=n;i++) { if(parent[i]==i) sum++; } if(sum>1) printf("NO\n"); else printf("YES\n"); } return 0;}
2.DFS
#include<stdio.h>#include<string.h>int way[1010][1010];int visited[1010];int DFS(int x,int n){ int i; visited[x]=1; for(i=1;i<=n;i++) { if(way[x][i]==1&&visited[i]==0) { DFS(i,n); } } }int main(){ int i,j,n,m,x,y; while(scanf("%d %d",&n,&m),n!=0) { memset(way,0,sizeof(way)); memset(visited,0,sizeof(visited)); for(i=0;i<m;i++) { scanf("%d %d",&x,&y); way[x][y]=1; way[y][x]=1; } DFS(1,n); int flag=0; for(i=1;i<=n;i++) { if(visited[i]==0) flag=1; } if(flag==1) printf("NO\n"); else printf("YES\n"); } return 0;}
0 0
- 九度oj 题目1109:连通图
- 九度 题目1109:连通图
- 九度题目1109:连通图
- 九度 题目1109:连通图
- 题目1109:连通图 九度OJ
- 九度 题目1109:连通图
- 九度OJ题目1109:连通图
- 【九度OJ】题目1109:连通图 解题报告
- 九度1109:连通图
- 【九度】题目1545:奇怪的连通图
- <九度 OJ>题目1545:奇怪的连通图
- 题目1109:连通图
- 题目1109:连通图
- 题目1109:连通图
- 题目1109:连通图
- 题目1109:连通图
- 题目1109:连通图
- 题目1109:连通图
- STL系列之五 priority_queue 优先级队列
- innerHTML和outerHTML
- STL系列之六 set与hash_set
- [leetcode] Remove Duplicates from Sorted Array
- uva714 - Copying Books(最大值最小化)
- 九度题目1109:连通图
- STL系列之七 快速计算x的n次幂 power()的实现
- POJ 3067 Japan—— 树状数组
- HDU2242 考研路茫茫——空调教室
- 3n+1b 备忘录方法
- 设计模式——之动态代理 笔记
- 深入研究Servlet线程安全性问题
- STL系列之八 slist单链表
- 矿工冒险记