ACM篇 : POJ 1321 -- 棋盘问题
2016-12-08 18:44
197 查看
审题错误,可放和不可放的符号搞反了,浪费了好多时间。
深搜。
深搜。
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAX = 8; bool board[MAX+1][MAX+1]; bool occu[MAX+1]; int n; int k; int ans; int readchar() { int t; while (t = getchar()) { if (t == '.' || t == '#') break; } return t; } void _init() { memset(board, 0, sizeof(board)); memset(occu, 0, sizeof(occu)); } void read_board() { for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) board[i][j] = (readchar() == '#') ? true : false; } void _dfs(int row, int laid) { if (laid == k) { ans++; return; } if (row > n) return; for (int j = 1; j <= n; j++) { if (board[row][j] && !occu[j]) { occu[j] = true; _dfs(row+1, laid+1); occu[j] = false; } } _dfs(row+1, laid); } int main() { while (scanf("%d%d", &n, &k) && n != -1 && k != -1) { _init(); read_board(); ans = 0; _dfs(1, 0); printf("%d\n", ans); } return 0; }
相关文章推荐
- POJ 1321 棋盘问题
- POJ_1321_棋盘问题
- poj 1321 棋盘问题
- POJ 1321 棋盘问题
- POJ 1321, 棋盘问题
- POJ 1321-棋盘问题
- POJ 1321 棋盘问题 DFS
- POJ_1321 棋盘问题解题报告
- POJ-1321 棋盘问题 解题报告
- poj1321棋盘问题
- poj1321——棋盘问题
- Poj 1321 棋盘问题
- poj 1321 棋盘问题
- POJ 1321 棋盘问题 dfs回溯
- poj 1321 棋盘问题
- POJ 1321-棋盘问题 简单搜索DFS
- POJ 1321 棋盘问题类似八皇后 dfs搜索
- POJ1321 棋盘问题 解题报告
- POJ 1321 棋盘问题 DFS
- poj 1321 棋盘问题 DFS+回溯 回溯学习