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

北城旺角做网站的网站的程序怎么做

北城旺角做网站的,网站的程序怎么做,合肥网站建设工作,网络服务提供者是不是网络运营者题目描述 给出一个nnn\times nnn的国际象棋棋盘#xff0c;你需要在棋盘中摆放nnn个皇后#xff0c;使得任意两个皇后之间不能互相攻击。具体来说#xff0c;不能存在两个皇后位于同一行、同一列#xff0c;或者同一对角线。请问共有多少种摆放方式满足条件。 输入描述: … 题目描述 给出一个n×nn\times nn×n的国际象棋棋盘你需要在棋盘中摆放nnn个皇后使得任意两个皇后之间不能互相攻击。具体来说不能存在两个皇后位于同一行、同一列或者同一对角线。请问共有多少种摆放方式满足条件。 输入描述: 一行一个整数n(1≤n≤12)n(1\le n \le 12)n(1≤n≤12)表示棋盘的大小。 输出描述: 输出一行一个整数表示总共有多少种摆放皇后的方案使得它们两两不能互相攻击。 示例1 输入 4 输出 2 想法 就按题意一个格子一个格子枚举并看一下有没有行冲突列冲突对角线冲突但结果答案是错的。 代码 #includebits/stdc.h using namespace std; int n; int ans0; int a[15][15]; int st[15][15]; int r[15];//行冲突 int c[15];//列冲突 int djx[2];//对角线冲突 void dfs(int gs){//摆了的皇后个数     //st[x][y]1;     if(gsn){         ans;         return ;     }     for(int i1;in;i){         for(int j1;jn;j){             //if(st[i][j]) break;             if(r[i]) break;             if(c[j]) continue;             if(djx[0]ij) continue;             if(djx[1]ijn1) continue;             r[i]1;             c[j]1;             if(ij){                 djx[0]1;                 dfs(gs1);                 djx[0]0;             }             else if(ijn1){                 djx[1]1;                 dfs(gs1);                 djx[1]0;             }             else dfs(gs1);             r[i]0;             c[j]0;         }     } } int main(){     cinn;     dfs(0);         coutans; } 网课 看了网课后发现还是有点问题的吧。首先对角线冲突理解错了题目指的是每条对角线而我以为是主对角线和副对角线两条。然后我又想了下怎么标记对角线找了下对角线的下标有什么规律emm但也还是想不到怎么表示。网课的提供了两种方法一种是直接将所有对角线标序号然后弄个标记数组第二种就是看规律主对角线方向上的位于同一条对角线的坐标ij都是同一个值副对角线方向上的位于同一条对角线的坐标i-j都是同一个值。利用这点可以弄两个标记数组。但还有问题就是副对角线方向上的某些对角线坐标相减是负的需要把数组下标平移一下。我找规律的时候也有注意到一点点吧但没那么深刻。还有一点就是网课的方法搜索时是一行一行搜的每一行放一个皇后看是否满足条件这样直接不用考虑行冲突了。我是一格一格搜索的复杂度更高。 代码 #includebits/stdc.h using namespace std; const int N15; int n; int ans0; int c[N]; int fdjx[NN-1N];//平移 int zdjx[NN-1]; void dfs(int r){//行     if(rn){         ans;         return ;     }     for(int i1;in;i){//列         if(c[i]) continue;         if(fdjx[r-in]) continue;         if(zdjx[ri]) continue;         c[i]1;         fdjx[r-in]1;         zdjx[ri]1;         dfs(r1);         c[i]0;         fdjx[r-in]0;         zdjx[ri]0;     } } int main(){     cinn;     dfs(1);     coutans; } 修改 但是吧我现在按我的想法写就是一格一格搜索还是弄不出来。 代码 #includebits/stdc.h using namespace std; const int N15; int n; int ans0; int c[N]; int r[N]; int fdjx[NN-1N];//平移 int zdjx[NN-1]; void dfs(int gs){//行     if(gsn){         ans;         return ;     }     for(int i1;in;i){//列         for(int j1;jn;j){             if(c[j]) continue;             if(r[i]) break;             if(fdjx[i-jn]) continue;             if(zdjx[ij]) continue;             c[j]1;             r[i]1;             fdjx[i-jn]1;             zdjx[ji]1;             dfs(gs1);             c[i]0;             r[i]0;             fdjx[i-jn]0;             zdjx[ji]0;         }       } } int main(){     cinn;     dfs(1);     coutans; }
http://www.hkea.cn/news/14284545/

相关文章:

  • 高唐网站wordpress栏目设置到导航
  • 广州好的网站建设视频模板免费下载网站
  • 建设电子元器件网站高校门户网站源码
  • 信用门户网站建设规范企业手机端网站模板
  • 七初SEO网站建设建设自己的企业网站需要什么资料
  • 丽水建设网站免费室内设计素材网站
  • 网站安全和信息化建设网站运营无经验可以做吗
  • asp.net 网站开发 pdf吉安做网站优化
  • 音乐网站设计外国多少人再用wordpress
  • 移动网站设计尺寸公司商标注册怎么弄
  • 个人音乐网站程序源码北京展厅展馆设计公司
  • 像素人物制作网站做产品推广的网站有哪些
  • 单位网址怎么编seo外包公司一般费用是多少
  • 以net结尾的网站手机网页怎么做出来的
  • 德骏网站建设php律师网站源码
  • 建设银行网站怎么查工资明细多导航织梦网站模板下载地址
  • 电子商务如何设计网站建设湖南省建设干部学校 网站
  • 网站常用颜色wordpress搜索即时显示
  • 怎么做网站计划跨境电商网站搭建
  • 做网站备案是什么意思企业在公司做的网站看不到
  • 可以提升自己的网站广州网站制作多少钱
  • 台州找人做网站网站上传空间下一步
  • 做海报可以借鉴的网站微网站模板前后台
  • 网站开发w亿玛酷1负责wordpress admin
  • 专做PPP项目网站西安百度快照优化
  • 广告网站做动图怎么做购物网站难做
  • 做汤的网站专业企业app开发制作
  • 南阳seo网站价格顺德网站制作案例信息
  • 珠海找工作哪个网站好怎么找到仿牌外贸出口公司的网站
  • 网站建设用什么框架好wordpress建站阿里云