The Sultan’s Successors
原题链接https://vjudge.net/contest/345248#problem/F

八皇后问题,既在8*8的棋盘中放置8个皇后,每行,每列,每个对角线和副对角线都只能有一个皇后。
求出所有种类中皇后所在位置的数之和的最大值。
建立vis[105][105]来判断位置。
PS:
vis[0][i]==0 判断列
vis[1][i+sum]==0判断副对角线 // 同一副对角线i+j=定值
vis[2][i-sum+8]==0 判断对角线 // 同一对角线i-j为定值

#include<cstring>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std;
long long map[105][105];
long long vis[105][105];
long long maxx;
void dfs(long long sum,long long sum1)
{long long i;if(sum==8){if(maxx<sum1){maxx=sum1;}}else{for(i=0;i<8;i++)//一列一列进行读取,由于是一行一行计算,当前已选的点的个数即为行数。{if(vis[0][i]==0&&vis[1][i+sum]==0&&vis[2][i-sum+8]==0)//判断{vis[0][i]=1;vis[1][i+sum]=1;vis[2][i-sum+8]=1;dfs(sum+1,sum1+map[sum][i]);vis[0][i]=0;vis[1][i+sum]=0;vis[2][i-sum+8]=0;}}}
}
int main ()
{long long t;scanf("%lld",&t);while(t--){long long i,j;memset(vis,0,sizeof(vis));memset(map,0,sizeof(map));for(i=0;i<8;i++)//读取地图{for(j=0;j<8;j++){scanf("%lld",&map[i][j]); }}maxx=-1;dfs(0,0);printf("%5lld\n",maxx);}return 0;
}

The Sultan's Successors (八皇后)DFS相关推荐

  1. The Sultan's Successors (八皇后)

    The Sultan's Successors(八皇后问题) The Sultan of Nubia has no children, so she has decided that the coun ...

  2. 38行代码AC——UVA-167The Sultan‘s Successors(八皇后问题,附视频讲解)

    最近备考蓝桥,学习到递归模块,从最基本的八皇后及其变种开始刷起(如果可以穿越,我一定要抓到发明递归的那个人,然后把他干掉,造福后世的算法er,). 题目大意 一个人,没孩子,要在死前分割财产,然后出了 ...

  3. python深度优先算法 八皇后_八皇后问题——DFS(深度优先搜索)

    八皇后问题,是在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法? 算法思路: 八皇后问题实质为一种深度优先(DFS)搜索问题. ...

  4. P1219 八皇后(N皇后,烧脑标记剪枝,DFS)

    P1219 八皇后 Luogu 应用 题库 训练 比赛 记录 讨论 20.7K 通过 45.7K 提交 题目提供者 评测方式 云端评测 标签 USACO高性能 难度 普及/提高- 时空限制 1000m ...

  5. DFS基础-----刷题合集--1(全排列,八皇后,迷宫),让你明白DFS的基础用法

    二刷dfs相关题目 洛谷P1706            全排列 https://www.luogu.com.cn/problem/P1706                              ...

  6. UVA167【The Sultan‘s Successors】(递归与回溯、8皇后问题)

    链接:UVA167[The Sultan's Successors] 题目描述: The Sultan of Nubia has no children, so she has decided tha ...

  7. Uva 167 The Sultan's Successors(dfs)

    题目链接:Uva 167 思路分析:八皇后问题,采用回溯法解决问题. 代码如下: #include <iostream> #include <string.h> using n ...

  8. 八皇后问题(dfs)

    八皇后问题,是一个古老而著名的问题,是搜索算法的经典案例.该问题是国际西洋棋棋手马克思贝瑟尔于1848年提出:在8*8格的国际象棋上摆放八个皇后.使其不能相互攻击,即任意两个皇后都不能处于同一行.同一 ...

  9. 一本通DFS经典:1214:八皇后

    1214:八皇后 一.数学模型 八皇后问题描述的是八个国际象棋中皇后棋子如何摆放的问题,而实际上可以抽象成8*8二维空间中的一种特殊选点问题:任意选择8个点,其中任意两个点:不同行不同列不同对角线: ...

最新文章

  1. Linux下DNS轮询与Squid反向代理结合
  2. hibernate oracle 读写分离_利用FDW进行ORACLE到Postgresql的数据迁移
  3. eeglab中文教程系列 汇总
  4. 如何学习sql语言?
  5. 使用Redux在React Navigation App中管理状态
  6. 用Kubeadm安装K8s后,kube-flannel-ds一直CrashLoopBackOff
  7. c语言编程运动会分数统计系统报告,C语言课程设计报告运动会分数统计系统.pdf...
  8. 夜神模拟器连不上android studio了
  9. axure中继器求和_Axure案例:用中继器做一个2级折叠菜单
  10. web安全:QQ号快速登录漏洞及被盗原理
  11. 用python打开文件然后写个欢迎代码
  12. 用python画简单的图形
  13. 宝宝的眼睛与微量元素的关系
  14. oracle form on query,OracleForm实战总结.doc
  15. matlabapp窗口图像_matlab的App designer使用
  16. 用java做打字训练测试软件,《打字训练测试软件-Java课程设计》.doc
  17. 中科大科学岛计算机复试,2020年中国科学技术大学研究生院科学岛分院复试办法及复试内容...
  18. Python自动登陆淘宝并爬取商品数据
  19. uploader.lib php,Lib/Upload.php · 跳跳虎1986/cwj - Gitee.com
  20. “长宽高”不设限,中软国际带你在云上“乘风破浪”

热门文章

  1. PHP 生成条形码每页44个
  2. python获取模块的名称_python获取当前模块的名称
  3. gantt客制化gantt 图标
  4. ICCV 2021 Oral | Paint Transformer - 基于笔触预测的快速油画渲染算法
  5. java利用正则表达式提取字符串中的整数和小数部分
  6. 2022煤炭生产经营单位(安全生产管理人员)判断题及在线模拟考试
  7. CSDN换头像的方法
  8. AI一周热闻:华为豪掷3.3亿剑桥买地,自建光芯片工厂;比特大陆IPO失败,组织架构调整...
  9. vue 给圆遮盖物添加文字 高德地图_【高德地图开发4】---增加覆盖物setMapTextZIndex...
  10. 【编程DIY】一.几个有趣的小程序