UVA Morning Walk(判欧拉回路)
来源:互联网 发布:myBatis 打印实际sql 编辑:程序博客网 时间:2024/06/07 16:41
题意: Kamal每天早上都要从A点走到B点。从A点到B点有很多条路, 他每天早上都要先选择好一条路线, 这条路线从A点走到B点,再从B点走回A点。 这条路线不能重复地经过同一条路。 两个地点间可能会有多条路。 比如多次出现了从A到B的路线, 那么表示每次出现的都是不同的路
并查集做法:
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostream>#include<algorithm>using namespace std;#define M 210int num[M];int findx(int x){ int r = x; while(r!=num[r]) { r = num[r]; } int k = x,j; while(k!=r) { j = num[k]; num[k] = r; k = j; } return r;}void bing(int x,int y){ int fx = findx(x); int fy = findx(y); if(fx!=fy) { num[fx] = fy; }}int main(){ int t, k = 1; int v[M]; int n,m; while(scanf("%d%d",&n,&m)!=EOF) { for (int i = 0; i < n; i++) { num[i] = i; v[i] = 0; } for (int i = 0; i < m; i++) { int a, b; scanf("%d%d", &a, &b); v[a]++; v[b]++; bing(a,b); } int cnt = 0; for (int i = 0; i < n; i++) { if (num[i] == i && v[i]!=0) { cnt++; } } int sum = 0; if(cnt == 1 && m>=2) { for(int i=0; i<n; i++) { if(v[i]%2!=0) { sum++; //printf("i = %d\n",i); break; } } if (sum > 0) { printf("Not Possible\n"); } else { printf("Possible\n"); } } else { printf("Not Possible\n"); } } return 0;}
DFS做法:
0 0
- UVA Morning Walk(判欧拉回路)
- uva 10596 Morning Walk(欧拉回路)
- uva 10596 - Morning Walk (欧拉回路~~~)
- UVA 10196 Morning Walk(欧拉回路)
- UVA - 10596 Morning Walk (欧拉回路+dfs)
- 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 简单的k欧拉回路
- Morning Walk-uva 经典的欧拉回路
- UVA 10596 Morning Walk(欧拉路)
- uva 10596 - Morning Walk
- uva 10596 - Morning Walk
- 9i dump导入 ORACLE 11g not found in export file
- XBRL使用入门-1
- Java中的泛型方法
- 常用SQL语句
- android学习—— context 和 getApplicationContext()
- UVA Morning Walk(判欧拉回路)
- XBRL使用入门-2
- java服务器与linux c客户端之间udp通信
- openwrt下将lan口变为wan方法
- 虚拟机打开fedora失败
- XBRL分类使用样例-日本国税厅税务申报财务报表分类
- 在Quick-cocos2dx中使用云风pbc解析Protocol Buffers,支持win、mac、ios、android
- 第2步:第一个“Hello,world!”之Android App(从零开始学Android)
- 深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始