UVA 10129 Play on Words
来源:互联网 发布:安卓游戏编程教程 编辑:程序博客网 时间:2024/06/16 14:11
UVA 10129 Play on Words
题目大意:判断首字母与末尾字母形成的若安路是否形成欧拉通路
解题思路:判断是否连通,然后判断度数是否为偶数(起点和终点入度和出度可以相差1)
#include <stdio.h>#include <iostream>#include <string.h>#include <stack>using namespace std;stack<int> sta[26];int m;int in[26], out[26];int flag[26];int num;int all;void dfs(int a) { flag[a] = 0; num++; if(num == all) return; while(!sta[a].empty()) { int b = sta[a].top(); if(flag[b] == 1) { dfs(b); } sta[a].pop(); } return;}int main() { int n; cin >> n; while(n--) { for(int i = 0; i < 26; i++) while(!sta[i].empty()) sta[i].pop(); memset(in, 0, sizeof(in)); memset(out, 0, sizeof(out)); memset(flag, 0, sizeof(flag)); int x, y; cin >> m; getchar(); char ch[1000]; all= 0; for(int i = 0; i < m; i++) { gets(ch); x = ch[0] - 'a'; y = ch[strlen(ch)-1] - 'a'; out[x]++; in[y]++; sta[x].push(y); sta[y].push(x); if(flag[x] == 0) { all++; flag[x] = 1; } if(flag[y] == 0) { all++; flag[y] = 1; } } num = 0; dfs(x); int fir = 0; int fin = 0; if(num == all) { for(int i = 0; i < 26; i++) { if(fir > 1) break; if(fin > 1) break; if(in[i] == out[i]) continue; if(in[i] - out[i] == 1) fir++; else if(out[i] - in[i] == 1) fin++; else { num = -1; break; } } } if(num == all && fir - fin == 0) printf("Ordering is possible.\n"); else printf("The door cannot be opened.\n"); } return 0;}
0 0
- uva 10129 - Play on Words
- uva 10129 - Play on Words
- uva 10129 - Play on Words
- UVa 10129 - Play on Words
- UVa 10129 - Play on Words
- UVA 10129 - Play on Words
- uva 10129 - Play on Words
- UVA 10129 Play on Words
- uva 10129 - Play on Words
- uva 10129 Play on Words
- uva 10129 Play on Words
- uva 10129 - Play on Words
- UVA 10129 Play on Words
- UVa 10129 Play on Words
- UVA 10129 - Play on Words
- UVA - 10129 Play on Words
- UVA - 10129 Play on Words
- uva -10129 - Play on Words
- 详解数据库范式
- git到一个非空项目上
- 安卓退出已调用多个Activity的应用
- android中Application类
- Android事件总线 Otto框架使用
- UVA 10129 Play on Words
- hdoj1711(KMP模板题)Number Sequence
- 【codeforces】601A—— The Two Routes
- uva 10641 dp
- UVA-11809
- jdk安装 系统找不到文件C:\ProgramData\Oracle\Java\javapath\java.exe
- DOM节点操作
- Thinking in Java --日志初步学习
- @DBRef---------------springMVC