The Necklace UVA10054
来源:互联网 发布:网络教育大专要考试吗 编辑:程序博客网 时间:2024/06/05 07:01
题目:https://vjudge.net/problem/UVA-10054
题目大意
一个由两种颜色构成的珠子, 好几个珠子做成一个项链,连接方式为颜色相同的一端相连,给你一些珠子,问是否能够成一个项梁。
分析
将一个珠子看作是由两个点连接成的边,剩下的连接操作是相同的颜色即可做边,那么就转化为了一个多重边的欧拉回路问题。
无向图是否具有欧拉通路的条件:
图连通 && 有且仅有0或者2个度数为奇数的点有向图是否具有欧拉通路的条件:
图连通 && 除2个端点外其余点的入度等于出度(1个端点入度比出度大1,1个端点入度比出度小1)或者所有结点入度等于出度。无向图是否具有欧拉回路的条件:
图连通 && 所有结点的度数均为偶数有向图是否具有欧拉回路的条件:
图连通 && 所有结点入度等于出度
代码
/********************************************************************* File Name: The_Monocycle.cpp* Author: Sequin* mail: Catherine199787@outlook.com* Created Time: 三 9/13 18:06:12 2017*************************************************************************/#include <iostream>#include <cstdio>#include <string.h>#include <algorithm>using namespace std;int mmap[55][55];int num[55];int n;int cas = 1;void dfs(int x) { for(int i = 1; i <= 50; i++ ) { if(mmap[x][i]) { mmap[x][i]--; mmap[i][x]--; dfs(i); printf("%d %d\n", i, x); } }}int main() { int T; scanf("%d", &T); while(T--) { int n; scanf("%d", &n); memset(mmap, 0, sizeof(mmap)); memset(num, 0, sizeof(num)); for(int i = 0; i < n; i++) { int a, b; scanf("%d%d", &a, &b); mmap[a][b]++; mmap[b][a]++; num[a]++; num[b]++; } bool flag = true; int mmax = 0; int mi = 0; for(int i = 1; i <= 50; i++ ) { if(num[i] % 2 == 1){ flag = 0; break; } else if(mmax < num[i]){ mmax = num[i]; mi = i; } } printf("Case #%d\n", cas++); if(flag){ dfs(mi); } else{ puts("some beads may be lost"); } if(T > 0) { puts(""); } } return 0;}
阅读全文
0 0
- uva10054-The Necklace(项链)
- The Necklace UVA10054
- UVA10054 The Necklace
- UVa10054 The Necklace
- The Necklace UVA10054
- uva10054 The Necklace
- UVA10054 The Necklace
- UVA10054-The Necklace
- The Necklace UVA10054
- UVa10054 The Necklace,无向图求欧拉回路
- UVa10054 The Necklace (欧拉回路)
- 【UVa10054】The Necklace【欧拉回路】
- UVA10054 The Necklace (输出欧拉回路)
- UVA10054 The Necklace 无向图欧拉回路+连通性
- uva10054 The Necklace (欧拉回路路径输出 (并查集 + DFS) || (DFS + stack))
- The Necklace
- uva10054
- UVA10054
- idea14使用maven创建web工程
- Springdata_Jpa注解开发
- Java后台开发必备技能JDBC+Servlet+JSP
- 一次性口令机制java实现(信息安全)
- 全选 删除
- The Necklace UVA10054
- codevs 2611 观光旅游
- 最大子段和(SDIBTOJ 2002)
- 细说10月24号为什么是程序员的节日?
- Eclipse中关联Maven
- 数据结构 P62-62 算法实现 单链队列的创建及基本操作
- L1-010. 比较大小
- caffe运行自带的mnist
- Android---四种不同的点击事件