POJ 1321 棋盘问题 (dfs)
2012-04-07 11:04
344 查看
题目链接:~( ̄▽ ̄~)(~ ̄▽ ̄)~
水过~
code:
水过~
code:
#include <stdio.h> #include <string.h> int n = 0, k = 0, sum = 0, count = 0,used[10];//用used来标记每列是否有棋子出现过 char map[10][10]; void dfs(int row)//传的是当前是第几行 { int i = 0; if(count == k) { sum++; return ; } if(row>n) return; if(count+n-row+1<k)//如果说当前已确定的位置数量加上剩下要搜的行数小于k则剪枝 return ; for(i = 0; i<=n; i++) { if(i == 0) dfs(row+1); else { if(map[row][i] == '#' && !used[i]) { used[i] = 1; count++; dfs(row+1); count--; used[i] = 0; } } } } int main() { int i = 0; while(scanf("%d %d",&n,&k), n != -1 && k != -1) { memset(used,0,sizeof(used)); for(i = 1; i<=n; i++) scanf("%s",map[i]+1); sum = 0; if(k == 0) sum = 0; else dfs(1); printf("%d\n",sum); } return 0; }
相关文章推荐
- poj 1321 :棋盘问题 (dfs)
- poj 1321 棋盘问题 dfs搜索
- poj 1321 -- 棋盘问题 (DFS)
- poj dfs相关之1321 棋盘问题
- POJ - 1321 棋盘问题 dfs分层搜索(n皇后变式)
- poj 1321 棋盘问题 (简单的DFS)
- POJ 1321 棋盘问题(DFS)
- poj 1321 棋盘问题 dfs暴力
- poj 1321 棋盘问题(dfs)
- POJ 1321 棋盘问题(dfs)
- POJ 1321 棋盘问题(棋盘DFS)
- POJ 1321 棋盘问题(DFS板子题,简单搜索练习)
- Poj1321 棋盘问题 DFS
- POJ 1321 棋盘问题(DFS+回溯)
- POJ 1321-棋盘问题 简单搜索DFS
- Poj 1321 棋盘问题(DFS)
- POJ 1321-棋盘问题(dfs)
- POJ1321 棋盘问题(DFS||状压DP)
- 棋盘问题 POJ 1321 DFS
- POJ 1321 棋盘问题 DFS