【深搜】poj1321—棋盘问题

这篇博客探讨了如何使用深度搜索(深搜)解决棋盘问题。通过枚举棋盘的行,并对每行进行深搜处理,确定是否可以放置棋子。题目要求考虑在棋盘上放置棋子的所有可能方案,包括不能放置的情况。博主提供了思路错点,帮助理解解题过程。
摘要由CSDN通过智能技术生成

棋盘问题

FD-Mr.Z

题目大意:棋盘问题
			n*n大小的不规则棋盘(n<=8)‘#’区域
			放入k<=n棋子,彼此非同行非同列。
			求方案数。
参考题解链接

思路错点:

  1. map[][]是map[][](图)——输入, 搜索是搜索——处理

  2. 对行(座位参数)进行dfs(), 其中对列进行枚举——对行深搜。

  3. 枚举每一列,深搜行;之后还原——回溯

    —>(1)该行能放入棋子,则一定放入,不放入则无此条方案。
    —>(2)该行能放入棋子,不放入棋子,放之后的行。
    (不能放则都包含,不影响方案数,排除在外。)
    — >(1)+(2)=总方案数。

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值