UVa 10054 (打印欧拉回路) The Necklace
2015-04-25 10:27
465 查看
将每个颜色看成一个顶点,对于每个珠子在两个颜色之间连一条无向边,然后求欧拉回路。
代码君
#include <cstdio> #include <cstring> const int maxn = 50 + 5; int G[maxn][maxn], deg[maxn]; void Euler(int u) { for(int v = 1; v <= 50; v++) if(G[u][v]) { G[u][v]--; G[v][u]--; Euler(v); printf("%d %d\n", v, u); } } int main() { //freopen("in.txt", "r", stdin); int T; scanf("%d", &T); for(int kase = 1; kase <= T; kase++) { memset(G, 0, sizeof(G)); memset(deg, 0, sizeof(deg)); if(kase > 1) puts(""); printf("Case #%d\n", kase); int n, a, b, st; scanf("%d", &n); for(int i = 0; i < n; i++) { scanf("%d%d", &a, &b); st = a; deg[a]++; deg[b]++; G[a][b]++; G[b][a]++; } bool ok = true; for(int i = 1; i <= 50; i++) if(deg[i] % 2) { ok = false; break; } if(!ok) { puts("some beads may be lost"); continue; } Euler(st); } return 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 --欧拉回路的判断和输出,DFS
- UVA-10054 The Necklace (欧拉回路)
- UVA 10054 The Necklace(欧拉回路)
- uva10054 The Necklace (欧拉回路路径输出 (并查集 + DFS) || (DFS + stack))
- 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 (dfs欧拉回路)
- UVa 10054 The Necklace(欧拉回路)
- uva 10054 The Necklace (欧拉回路)
- UVA 10054 - The Necklace(欧拉回路)