当前位置: 首页 > wzjs >正文

做网站运营需要学的东西芜湖网站建设芜湖狼道

做网站运营需要学的东西,芜湖网站建设芜湖狼道,环保网站设计,贵阳网站建设多点互动题目 来源 843. n-皇后问题 - AcWing题库 思路 引自:AcWing 843. n-皇后问题--图解代码注释 - AcWing 核心思路:深度优先遍历 函数名:void dfs(int r): 深度优先遍历函数。参数r:从第r行开始放棋子,处理第r行。 递归…

题目

来源

843. n-皇后问题 - AcWing题库

思路

引自:AcWing 843. n-皇后问题--图解+代码注释 - AcWing

核心思路:深度优先遍历

函数名:void dfs(int r): 深度优先遍历函数。参数r:从第r行开始放棋子,处理第r行。

递归结束判定:见代码,当 r == n的时候,说明应该处理第 n行了,也代表第 0~n-1行放好棋子,也就是整个棋盘放好了棋子,也就是得到了一种解,也就是递归结束。

第r行,第i列能不能放棋子:用数组dg udg cor 分别表示:点对应的两个斜线以及列上是否有皇后。
dg[i + r] 表示 r行i列处,所在的对角线上有没有棋子,udg[n - i + r]表示 r行i列处,所在的反对角线上有没有棋子,cor[i]表示第i列上有没有棋子。如果 r行i列的对角线,反对角线上都没有棋子,即!cor[i] && !dg[i + r] && !udg[n - i + r]为真,则代表 r行i列处可以放棋子。


 n - i + r和i + r其实就是一个小trick,b=y-x或者b=y+x;+n是为了防止出现负数越界

代码

#include<bits/stdc++.h>
using namespace std;
const int N=20;
char dg[N],udg[N],col[N];
char q[N][N];
// int r; //表示每行,一行一行去处理
int n;
void dfs(int r){if(r==n){for(int i=0;i<n;i++){for(int j=0;j<n;j++){cout<<q[i][j];}cout<<endl;            }cout<<endl;return;}for(int i=0;i<n;i++){if(!col[i]&& !dg[i+r] && !udg[n-i+r]){q[r][i]='Q';col[i]=dg[i+r]=udg[n-i+r]=1;dfs(r+1);col[i]=dg[i+r]=udg[n-i+r]=0;q[r][i]='.'; //这里也是要恢复现场的}}}
int main(){cin>>n;for(int i=0;i<n;i++){for(int j=0;j<n;j++){q[i][j]='.';}}dfs(0);return 0;
}

文章转载自:

http://gbOM3Gec.pqwrg.cn
http://JHdxZZr9.pqwrg.cn
http://1HYKZvGl.pqwrg.cn
http://5GOR0gfH.pqwrg.cn
http://PJ36xLEX.pqwrg.cn
http://8HZlLwxU.pqwrg.cn
http://h4Us2SKu.pqwrg.cn
http://HYt3sK7d.pqwrg.cn
http://RAjawYnp.pqwrg.cn
http://fxCdqqGW.pqwrg.cn
http://TnqrzV0s.pqwrg.cn
http://6GA71D5l.pqwrg.cn
http://pdB2I5XK.pqwrg.cn
http://5zX2oCPP.pqwrg.cn
http://VpXGkDYA.pqwrg.cn
http://ZH9M6znm.pqwrg.cn
http://nRQEppu1.pqwrg.cn
http://M6Nu7eeg.pqwrg.cn
http://h93ECyLt.pqwrg.cn
http://1w1MgiDJ.pqwrg.cn
http://gMQCyzWY.pqwrg.cn
http://KW6Gdob9.pqwrg.cn
http://JoCcjhrC.pqwrg.cn
http://11uaA1n1.pqwrg.cn
http://h6pE3Zmm.pqwrg.cn
http://Tba4ggZS.pqwrg.cn
http://07fOjV7c.pqwrg.cn
http://eXvGns6A.pqwrg.cn
http://aTJP3iI7.pqwrg.cn
http://hUxE2XtI.pqwrg.cn
http://www.dtcms.com/wzjs/720409.html

相关文章:

  • 网站程序元网页建站网站
  • 湛江做网站苏州厂商腾讯员工月薪多少
  • 淘宝客网站建设分类网站建设 软件开发
  • 网站建设与维护很累吗怎么做公众号微信
  • 打开一个不良网站提示创建成功怎么做企业官方网站
  • 东莞市企业网站建设哪家好郑州推出vip服务
  • 网站内容策略郑州腾讯网站建设
  • 浙江省住房建设厅网站首页网站服务器的功能
  • 网站后台管理系统进不去怎么办凡克
  • 如何创建网站老鱼网网站后台上传图片 不可用
  • 太平洋手机网官网广告优化正规公司
  • 网站域名空间怎么买wordpress做中英文站
  • dede添加网站背景设计说明翻译
  • 海南免费做网站人流什么时间做 新闻源网站
  • 公文写作网站嘉兴网站建设企业网站制作
  • 网站程序方面保驾护航装修网
  • 信息流优化师简历模板wordpress自动优化插件
  • 百度合作的网盟网站众筹插件 wordpress
  • 普洱市住房城乡建设局网站网络营销ppt
  • 网站建设制作软件叫啥c语言网络编程
  • 12306网站 谁做的好用的手机网站主页
  • ppt的网站导航栏怎么做sql2005做网站
  • 网站开发 招聘免费推广网站软件
  • 做网站什么程序网站建设与管理和计算机网络技术
  • 石家庄百度推广家庄网站建设wordpress伪静态404 nginx
  • 月子中心网站建设需求wordpress 文章太多
  • 网站如何做视频教程网站没内容可以备案吗
  • 微信页面seo网站建设视频教程
  • 提供网站建设出售广告营销模式
  • 小本本教你做网站银医网站建设方案