POJ 1321 棋盘问题 dfs回溯
2012-02-25 02:15
393 查看
http://poj.org/problem?id=1321
题意:汉语的,so good。
和zoj1002差不多,递归,回溯
代码:
题意:汉语的,so good。
和zoj1002差不多,递归,回溯
代码:
#include<iostream> #include<cstdio> #include<string> #include<cstring> using namespace std; int map[10][10]; int n,k; int ans; bool judge(int x,int y) { for(int i=x-1;i>=0;i--) { if(map[i][y]==2)return 0; } for(int i=y-1;i>=0;i--) { if(map[x][i]==2)return 0; } return 1; } void dfs(int u,int Sum) { if(u>n*n)return ; if(Sum==k) { ans++; return ; } int r=u/n; int c=u%n; if(map[r][c]==1&&judge(r,c)) { map[r][c]=2; dfs(u+1,Sum+1); map[r][c]=1; } dfs(u+1,Sum); } int main() { char ch; int i,j; while(~scanf("%d%d",&n,&k)) { if(n==-1&&k==-1) break; getchar(); memset(map,0,sizeof(map)); for(i=0;i<n;i++) for(j=0;j<n;j++) { cin>>ch; if(ch=='#')map[i][j]=1; } ans=0; dfs(0,0); printf("%d\n",ans); } return 0; }
相关文章推荐
- POJ 1321 - 棋盘问题
- POJ 1321 棋盘问题(kuangbin带你飞 专题一)
- 棋盘问题 POJ - 1321 (简单DFS搜索)
- POJ 1321 棋盘问题
- poj 1321 棋盘问题
- POJ 1321 棋盘问题---[kuangbin带你飞]专题一 简单搜索
- poj-1321棋盘问题(dfs 找出最多有几种摆放棋子的可能)
- [poj]1321 棋盘问题 dfs
- Poj 1321 棋盘问题(搜索)
- ACM篇 : POJ 1321 -- 棋盘问题
- poj1321棋盘问题{wa}
- POJ-1321-棋盘问题
- POJ 1321 棋盘问题(简单dfs)
- poj-1321-棋盘问题-回溯
- poj1321——棋盘问题——————【状态压缩、动态规划】
- 状态压缩动态规划 -- 棋盘问题 POJ 1321
- poj 1321棋盘问题
- poj-1321-棋盘问题(dfs)
- POJ 1321-棋盘问题(DFS 递归)
- poj 1321 棋盘问题