poj 1321 棋盘问题
来源:互联网 发布:知乎 关于毛泽东的书 编辑:程序博客网 时间:2024/05/22 09:48
题目链接:http://poj.org/problem?id=1321
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <queue>#include <stack>using namespace std;#define INF 0x3f3f3f3ftypedef long long ll;int n,k;int ans;char map[10][10];int vis[10][10];int r[10],c[10];bool check(int i,int j){ if(!r[i]&&!c[j]) return true; else return false;}void Dfs(int step,int ii) //当前已经放了step个棋子,上一次放置的位置为第ii行{ if(step==k){ ans++; return ; } for(int i=ii+1;i<n;i++){ //在每一种放置方案里面,每次从上一次放置棋子的下一行开始搜索 for(int j=0;j<n;j++){ if(map[i][j]=='#'&&!vis[i][j]&&check(i,j)){ vis[i][j]=1; r[i]=1; c[j]=1; Dfs(step+1,i); vis[i][j]=0; r[i]=0; c[j]=0; } } }}int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); while(cin>>n>>k&&!(n==-1&&k==-1)){ ans=0; memset(vis,0,sizeof vis); memset(r,0,sizeof r); memset(c,0,sizeof c); for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ cin>>map[i][j]; } } Dfs(0,-1); cout<<ans<<endl; } return 0;}
0 0
- POJ 1321 棋盘问题
- poj 1321 棋盘问题
- poj 1321 棋盘问题
- Poj 1321 棋盘问题
- POJ 1321 棋盘问题
- POJ 1321 棋盘问题
- POJ-1321-棋盘问题
- poj 1321棋盘问题
- POJ 1321 棋盘问题
- poj 1321 棋盘问题
- POJ 1321 棋盘问题
- poj 1321 棋盘问题
- poj 1321 棋盘问题
- poj 1321 棋盘问题
- poj 1321 棋盘问题
- POJ 1321 - 棋盘问题
- poj 1321棋盘问题
- POJ 1321 棋盘问题
- 一张图读懂Mybatis(1)
- 奥运赛事的一点小感慨
- 关于支付接口的调用(感谢beecloud)
- Android开发笔记——视频录制播放常见问题
- 纯C/C++解析PNG工具
- poj 1321 棋盘问题
- Producter And Consumer
- imageLoader加载图片配置
- sftp上传
- HDU 1257 最少拦截系统
- 谈软件系统的标准化和产品化
- Docker“Swarm模式”欲抢占Kubernetes的风头
- spirng+redis 发布订阅
- Codeforces Round #365 (Div. 2)