UVa 10596: Morning Walk
来源:互联网 发布:mysql语句面试题及答案 编辑:程序博客网 时间:2024/05/17 23:35
这题需要判断两个地方:所有点是否在同一个集合中以及各点的度是否均为偶数(即是否可以构成欧拉回路)。
用dfs得到一个连通分量中点的个数,判断是否与总的点数目相等即可知道是否所有点均在一个连通分量中。
我的代码如下:
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <string>#include <algorithm>using namespace std;int degree[200];int adj[200][200];int visit[200];int N,R;void dfs(int n, int &c){c++;visit[n]=1;for(int i=0; i<N; i++){if(adj[i][n] && !visit[i]){dfs(i,c);}}return ;}int main(){int ta,tb;while(cin >> N >> R){memset(adj,0,sizeof(adj));memset(degree,0,sizeof(degree));memset(visit,0,sizeof(visit));for(int i=0; i<R; i++){cin >> ta >> tb;adj[ta][tb]=adj[tb][ta]=1;degree[ta]++;degree[tb]++;}int ok=1,count=0;for(int i=0; i<N; i++){if(degree[i]%2==1) { ok=0; break;}}if(!ok) cout << "Not Possible\n";else {dfs(0,count); //cout << count << endl;if(count != N) cout << "Not Possible\n";else cout << "Possible\n";}}return 0;}
- uva 10596 - Morning Walk
- uva 10596 - Morning Walk
- uva 10596 - Morning Walk
- UVa 10596 - Morning Walk
- UVa 10596 - Morning Walk
- UVA 10596 Morning Walk
- uva 10596 - Morning Walk
- UVA 10596 Morning Walk
- uva 10596Morning Walk
- UVa 10596: Morning Walk
- uva 10596 - Morning Walk
- uva 10596 Morning Walk
- Morning Walk UVA 10596
- UVa 10596 - Morning Walk
- UVA 10596 - Morning Walk
- UVA - 10596 Morning Walk
- uva 10596 - Morning Walk
- UVA - 10596 Morning Walk
- C语言--对数组地址的解析
- IP报头格式
- UNIX网络编程——客户/服务器程序设计示范(三)
- ACM中的java
- VB.NET_从DataGridview中导出EXCEL(1.准备)
- UVa 10596: Morning Walk
- Silverligt中如何使用右键菜单
- SQL 语句学习记录
- Window_Open详解
- 使用Tab Bar切换视图
- wget 命令用法详解
- dev GridControl 实现双击行事件
- cancelPreviousPerformRequestsWithTarget
- c++单例模式