hdu 1045 Fire Net (最爱 DFS)
2012-06-05 12:56
344 查看
// 2012-06-05 // hdu 1045 让我想起了炸弹超人和八皇后 貌似有点意思 -- 最爱的深搜 aclay #include <iostream> #include <cstring> #include <cstdio> #include <string> #include <algorithm> #define Bug cout << "here\n"; using namespace std; const int N = 4; char str [5]; int n, mmax; bool ok(int x, int y) { if(str[x][y] != '.') return false; int i; for(i = y-1; i >= 0; i--) { if(str[x][i] == 'X') { break; } else if(str[x][i] == 'B') { return false; } } for(i = x-1; i >= 0; i--) { if(str[i][y] == 'X') { break; } else if(str[i][y] == 'B') { return false; } } return true; } void dfs(int pos, int num) { // 一定要先写出口 if(pos == n*n) { if(num > mmax) { mmax = num; } return; } int x = pos / n; int y = pos % n; if(ok(x, y)) { str[x][y] = 'B'; dfs(pos+1, num+1); str[x][y] = '.'; } dfs(pos+1, num); } int main() { int i; while(scanf("%d", &n), n) { for(i = 0; i < n; i++) { scanf("%s", str[i]); } mmax = -1; dfs(0, 0); printf("%d\n", mmax); } return 0; }
相关文章推荐
- HDU 1045 Fire Net(DFS)
- HDU 1045 Fire Net (DFS)
- HDU 1045 Fire Net(DFS回溯)
- hdu 1045 Fire Net (DFS java)
- hdu 1045 Fire Net(DFS+回溯)
- HDU 1045 Fire Net(DFS)
- HDU1045 Fire Net(深搜DFS)
- HDU 1045 Fire Net(DFS)
- hdu-1045 Fire Net(DFS)
- hdu 1045 || zoj 1002 Fire Net(搜索:DFS+水题)
- HDU 1045 Fire Net(DFS)
- hdu 1045 && zoj 1002 Fire Net(DFS && 二分图匹配)
- HDU - 1045 - Fire Net (DFS)
- HDU-1045 Fire Net(DFS+回溯)
- HDU1045 Fire Net 暴力搜索DFS
- hdu1045 Fire Net (dfs)
- hdu 1045 Fire Net(dfs)
- hdu1045 Fire Net(dfs)
- HDOJ(HDU).1045 Fire Net (DFS)
- hdu 1045 Fire Net(DFS)