
ACM-ICPC寒假算法训练1:搜索专题 黑白皇后问题(进一步思考深度遍历)
发布日期:2021-05-07 02:18:40
浏览次数:26
分类:精选文章
本文共 1218 字,大约阅读时间需要 4 分钟。
2*n皇后问题
#define _CRT_SECURE_NO_WARNINGS#includeconst int maxn = 10;int n, ans, mp[maxn][maxn];int col_black[maxn], diag1_black[2 * maxn], diag2_black[2 * maxn];int col_white[maxn], diag1_white[2 * maxn], diag2_white[2 * maxn];void dfs(int k) { if (n + 1 == k) { ans++; return; } for (int black = 1; black <= n; black++) { for (int white = 1; white <= n; white++) { if (col_black[black] || col_white[white]) continue; if (black == white || !mp[k][black] || !mp[k][white]) continue; if (diag1_black[k + black - 1] || diag2_black[k - black + n]) continue; if (diag1_white[k + white - 1] || diag2_white[k - white + n]) continue; col_black[black] = diag1_black[k + black - 1] = diag2_black[k - black + n] = 1; mp[k][black] = 0; col_white[white] = diag1_white[k + white - 1] = diag2_white[k - white + n] = 1; mp[k][white] = 0; dfs(k + 1); col_black[black] = diag1_black[k + black - 1] = diag2_black[k - black + n] = 0; mp[k][black] = 1; col_white[white] = diag1_white[k + white - 1] = diag2_white[k - white + n] = 0; mp[k][white] = 1; } }}int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) scanf("%d", &mp[i][j]); dfs(1); printf("%d", ans); return 0;}```
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月08日 02时43分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[网站公告]3月10日23:00-4:00阿里云SLB升级,会有4-8次连接闪断
2019-03-06
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2019-03-06
上周热点回顾(7.27-8.2)
2019-03-06
上周热点回顾(9.28-10.4)
2019-03-06
上周热点回顾(3.28-4.3)
2019-03-06
上周热点回顾(5.2-5.8)
2019-03-06
上周热点回顾(5.9-5.15)
2019-03-06
上周热点回顾(8.8-8.14)
2019-03-06
.NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1
2019-03-06
上周热点回顾(1.16-1.22)
2019-03-06
上周热点回顾(1.23-1.29)
2019-03-06
上周热点回顾(3.20-3.26)
2019-03-06
上周热点回顾(4.24-4.30)
2019-03-06
[故障公告]博客站点1台负载均衡遭遇流量攻击,造成联通与移动用户无法正常访问
2019-03-06
上周热点回顾(5.1-5.7)
2019-03-06
上周热点回顾(5.29-6.4)
2019-03-06
上周热点回顾(6.19-6.25)
2019-03-06
云计算之路-阿里云上:docker swarm 集群故障与异常
2019-03-06
上周热点回顾(2.19-2.25)
2019-03-06