UVa 10054 The Necklace(欧拉回路)
来源:互联网 发布:知未的的的意思是什么 编辑:程序博客网 时间:2024/05/04 06:32
题目链接:UVa 10054 The Necklace
对有向图来说,有向图G具有一条单向欧拉回路,当且仅当是连通的,且每个结点入度等于出度。对无向图来说,无向图G具有一条欧拉回路,当且仅当G是连通的,并且所有结点的度数均为偶数。
我还是不明白这个题为什么要逆序输出。。
#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAX_N = 50 + 10;int G[MAX_N][MAX_N], p[MAX_N], degree[MAX_N];int _find(int x){ return p[x] == x ? x : (p[x] = _find(p[x]));}void dfs(int u){ for(int v = 0; v < MAX_N; v++) { if(G[u][v]) { G[u][v]--, G[v][u]--; //printf("%d %d\n", u, v); dfs(v); printf("%d %d\n", v, u); } }}int n;int main(){ int T, _case = 0; scanf("%d", &T); while(T--) { scanf("%d", &n); int u, v, x, y, _beg, _par; bool flag = true; memset(G, 0, sizeof(G)); memset(degree, 0, sizeof(degree)); for(int i = 0; i < MAX_N; i++) p[i] = i; for(int i = 0; i < n; i++) { scanf("%d%d", &u, &v); G[u][v]++, G[v][u]++; degree[u]++, degree[v]++; x = _find(u); y = _find(v); if(x != y) p[x] = y; } for(int i = 0; i < MAX_N; i++) { if(degree[i]) { _par = _find(i), _beg = i; break; } } for(int i = 0; i < MAX_N; i++) { if(degree[i]) { if(_par != _find(i)) { flag = false; break; } } } if(flag) { for(int i = 0; i < MAX_N; i++) { if(degree[i] % 2 != 0) { flag = false; break; } } } if(_case != 0) printf("\n"); printf("Case #%d\n", ++_case); if(!flag) printf("some beads may be lost\n"); else dfs(_beg); } return 0;}
0 0
- UVa 10054 - The Necklace(欧拉回路)
- UVA 10054 the necklace 欧拉回路
- UVA 10054 - The Necklace 欧拉回路
- UVa 10054 - The Necklace 欧拉回路
- uva 10054 The Necklace (欧拉回路)
- UVa 10054 The Necklace(欧拉回路)
- UVA 10054 The Necklace 欧拉回路
- The Necklace - UVa 10054 欧拉回路
- UVA 10054 - The Necklace(欧拉回路)
- uva 10054 The Necklace 欧拉回路
- uva 10054 The Necklace 欧拉回路
- UVA 10054 The Necklace(欧拉回路)
- UVA - 10054 The Necklace 欧拉回路
- UVa 10054 - The Necklace, 欧拉回路+打印路径
- uva 10054 The Necklace(欧拉回路)
- Uva - 10054 - The Necklace(欧拉回路)
- UVA 10054 The Necklace(欧拉回路+输出路径)
- UVA - 10054 The Necklace (欧拉回路)
- VC++中设置程序变量和命令行参数
- List转换成JSON对象
- Python 简单文件处理
- PAT BASIC 1007
- struts2 杂乱总结
- UVa 10054 The Necklace(欧拉回路)
- linux服务器端口查看及操作
- 03-01自顶向下风格_编程
- ubuntu 安装g++
- POJ 3460 IDA*
- 【DataStructure&AlgorithmInJava】Ch02-BinarySearchDemo
- 03-02自底向上风格_模拟游戏
- redis的内存陷阱
- 开启嵌入式之旅