poj 1321 棋盘问题
来源:互联网 发布:亚裔女神asiafox 知乎 编辑:程序博客网 时间:2024/06/03 20:00
题意很简单- -;
解题思路:dfs搜索,逐行搜索,但需要注意当n!=k时,搜索完需要从当前行下一行继续搜索,具体见代码;
代码:
#include <iostream>#include <string.h>using namespace std;char map[10][10];int col[10];//列标记数组;int k,n;int cnt;void dfs(int row,int num){ if(num==k) {cnt++; return ; } if(row>n)//越界判定 return ; for(int i=1;i<=n;i++) { if(map[row][i]=='#'&&!col[i]) { col[i]=1; dfs(row+1,num+1); col[i]=0; } } dfs(row+1,num);//这里是难点,当k<n时,row在等于n之前就可能已经把全部棋子放好 //又由于当全部棋子都放好后的某个棋盘状态已经在前面循环时记录了 //因此为了处理多余行,令当前位置先不放棋子,搜索在下一行放棋子的情况}int main(){ while(cin>>n>>k) { if(n==-1&&k==-1) break; cnt=0; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cin>>map[i][j]; } memset(col,0,sizeof(col)); //memset() dfs(1,0); cout<<cnt<<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 棋盘问题
- DatePicker 4.8 beat3 SCRIPT70: 没有权限 弹不出日期控件
- 高仿58同城的Gridview
- android之屏幕适配之二实践切图适配不同的平板
- Windows下Anaconda的安装和简单使用
- Trie树(压缩Trie树及Double-Array Trie)
- poj 1321 棋盘问题
- HDU 1180 诡异的楼梯(BFS+奇偶步数判断)
- UE4 computing lightmap UV mapping in SpeedTree
- HASH表实现
- android点击两侧返回键退出应用
- 正则表达式———通俗易懂———边讲解边举例
- POJ3673解题报告
- Java自学视频整理
- 通俗易懂的并查集