UVA 601: The Path
2016-06-10 23:54
232 查看
题目:
https://uva.onlinejudge.org/external/6/p601.pdf
答案:
https://github.com/morris821028/UVa/blob/master/volume006/601%20-%20The%20PATH.cpp
https://uva.onlinejudge.org/external/6/p601.pdf
答案:
#include <stdio.h> #include <string.h> char g[105][105]; int used[105][105], n; void dfs(int x, int y, int w) { if(x < 0 || y < 0 || x >= n || y >= n) return ; if(used[x][y] || g[x][y] != w) return ; used[x][y] = 1; dfs(x+1, y, w); dfs(x-1, y, w); dfs(x, y+1, w); dfs(x, y-1, w); } int main() { int i, j, p, q; while(scanf("%d", &n) == 1 && n) { memset(used, 0, sizeof(used)); for(i = 0; i < n; i++) scanf("%s", g[i]); for(i = 0; i < n; i++) { if(g[i][0] == 'W') dfs(i, 0, 'W'); if(g[0][i] == 'B') dfs(0, i, 'B'); } int Wwin = 0, Bwin = 0; for(i = 0; i < n; i++) { if(used[i][n-1] && g[i][n-1] == 'W') Wwin = 1; if(used[n-1][i] && g[n-1][i] == 'B') Bwin = 1; } if(Wwin) { puts("White has a winning path."); continue; } if(Bwin) { puts("Black has a winning path."); continue; } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { if(g[i][j] == 'U' && !Wwin) { memset(used, 0, sizeof(used)); g[i][j] = 'W'; for(p = 0; p < n; p++) if(g[p][0] == 'W') dfs(p, 0, 'W'); for(p = 0; p < n; p++) if(used[p][n-1] && g[p][n-1] == 'W') Wwin = 1; g[i][j] = 'U'; } } } if(Wwin) { puts("White can win in one move."); continue; } for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { if(g[i][j] == 'U' && !Bwin) { memset(used, 0, sizeof(used)); g[i][j] = 'B'; for(p = 0; p < n; p++) if(g[0][p] == 'B') dfs(0, p, 'B'); for(p = 0; p < n; p++) if(used[n-1][p] && g[n-1][p] == 'B') Bwin = 1; g[i][j] = 'U'; } } } if(Bwin) { puts("Black can win in one move."); continue; } puts("There is no winning path."); } return 0; }
https://github.com/morris821028/UVa/blob/master/volume006/601%20-%20The%20PATH.cpp
相关文章推荐
- HDU 1426 Sudoku Killer (DFS 数独)
- Qt在各平台上的搭建qt-everywhere
- qt 操作word
- 2101 Problem A Snake Filled
- 图解TCP/IP协议笔记
- csdn可能待改进点之7------>转载的博文不支持修改摘要
- 第二次冲刺站立会议01
- Multi-class Classification
- BZOJ 2431 逆序对数列 DP
- BZOJ 2431 逆序对数列 DP
- Java Web 之 Servlet - Listener、Filter、Decorator 精辟
- 上下文&flags特性参数&复杂ListView(多种布局)&获取应用名的拼音(首字母拼音滑动改变)&PopupWindow
- 音视频编解码好的博客地址
- 斯坦福大学CS224d基础1:线性代数知识
- 《Java 8函数式编程》读书记录(1)
- 2101 Problem A Snake Filled
- html查看器
- Tachyon内存文件系统
- fragment基础
- Treap模板(简单版)