POJ-棋盘问题
来源:互联网 发布:一套办公软件多少钱 编辑:程序博客网 时间:2024/06/07 13:24
棋盘问题
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 49502 Accepted: 23966
Description
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。
Input
输入含有多组测试数据。
每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n
当为-1 -1时表示输入结束。
随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。
每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n
当为-1 -1时表示输入结束。
随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。
Output
对于每一组数据,给出一行输出,输出摆放的方案数目C (数据保证C<2^31)。
Sample Input
2 1#..#4 4...#..#..#..#...-1 -1
Sample Output
2
1
原题链接
Hint:
优先考虑DFS,注意任意两棋子不能放同一行或同一列上
#include <stdio.h>#include <string.h>int ans,k,n,book[11],a[11][11];///book标记列,防止两棋子位于同一列void DFS(int i, int num){ int ii,j; if(num>=k) { ans++; return; } for(ii=i; ii<n; ii++) { for(j=0; j<n; j++) { if(a[ii][j]==1&&book[j]==0) { book[j]=1; DFS(ii+1,num+1);///到下一行去找位置 book[j]=0; } } } return;}int main(){ int i,j; char c; while(scanf("%d%d",&n,&k)&&n!=-1&&k!=-1) { getchar(); memset(book,0,sizeof(book)); memset(a,0,sizeof(a)); ans=0; for(i=0; i<n; i++) { for(j=0; j<n; j++) { scanf("%c",&c); if(c=='#') a[i][j]=1; if(j==n-1) getchar(); } } DFS(0,0); printf("%d\n",ans); } return 0;}Time 47msMemory 400kBLength 874
阅读全文
1 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 棋盘问题
- poj 1321 棋盘问题
- poj 1321 棋盘问题
- poj 1321 棋盘问题
- POJ 1321 - 棋盘问题
- poj 1321棋盘问题
- [Python]利用ricequant获取上证指数以及所有股票历史价格数据
- JQuery Symfony Ajax跨域问题
- Js_Dom(8)__Dom基础<画布canvas>
- Android/安卓仿淘宝直播点赞效果/qq空间点赞效果动画
- POJ 1157 LITTLE SHOP OF FLOWERS(动态规划)
- POJ-棋盘问题
- org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException: Batch update returne
- 区间顺序枚举 hdu5696 区间的价值
- JAVA serialVersionUID的作用
- 微信小程序 向左滑动删除功能
- 解决:vpn连接正常连接,本地连接断开问题
- 首期寄语 | 阿里金融云徐敏:聊聊“安全感”
- 56. Merge Intervals
- Hadoop(2)-HDFS