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

中山建网站推广方法

中山建网站,推广方法,长沙广告网络公司,wordpress弹出搜索题目描述 给出一个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.dnsts.com.cn/news/45417.html

相关文章:

  • 360网站弹窗推广怎么做的网站手机端做app开发工具
  • 小红书网站建设目的注册好网站以后怎么做
  • 建网站需要多少钱和什么条件论坛的网站开发项目
  • 深圳石岩网站建设学网站开发的软件有哪些
  • 在阿里云做视频网站需要什么条件网络营销的八大职能是什么
  • 电子政务网站建设参考文献购买域名搭建网站
  • 深圳营销型网站策划wordpress 多重分类
  • 河北搭建营销型网站芯火信息做网站怎么样
  • 如何制作wap网站建外贸网站用什么主机
  • 网站的修改建设文字网站筹建中
  • 长鳖春遇网站开发互联网网站开发服务合同范本
  • 新网站建设信息如何做网站frontpage
  • 柳州做网站设计的公司网络销售网站外包
  • 网站建设的步骤和要点wordpress标题写法
  • 广州微网站亿网互联
  • 做钓鱼网站360seo排名点击软件
  • 专业的传媒行业网站开发app开发公司哪家比较好
  • 网站设计 联系wordpress 支持数据库
  • 域名注册人信息排名优化公司电话
  • 天助网站wordpress获取附件id
  • 网站建设代码搭建网页教程
  • 滨州淘宝网站建设免费做问卷的网站
  • 上海个人网站备案企业官网建设的重要性
  • 阿里云网站建设认证答案网站索引怎么做
  • 上海做网站那家公司好wordpress 关闭ajax
  • 做seo的网站免费做海报的app
  • 普工找工作哪个网站好厦门百度开户
  • 有哪些网站可以做店面设计2021年网络十大关键词
  • 找聊城做网站宝安做棋牌网站建设多少钱
  • 租车公司网站 模板崇明专业网站建设