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

网站定做系统繁忙是什么原因

网站定做,系统繁忙是什么原因,网站开发公司如何做直播,网站系统建设思想如何写一.题目 这是一道很经典的题,首先分析一下题目,就是在棋盘上下棋,但是同一行,同一列,对角线上不能有棋子,否则无法落子,那这些信息也就是约束条件,模拟这些信息就是减枝函数的内容 …

一.题目

这是一道很经典的题,首先分析一下题目,就是在棋盘上下棋,但是同一行,同一列,对角线上不能有棋子,否则无法落子,那这些信息也就是约束条件,模拟这些信息就是减枝函数的内容

既然它落子没有规律,只有位置有约束条件,那么我们就可以根据位置来考虑,不能同一行,同一列,同一对角线,那么我们就可以一行下一个,然后判断同一列,同一对角线是否有棋子,同理按其中三个随便一个约束条件来进行搜索,只需要满足其他两个约束条件就可以

代码如下:

public class Main {public static int sum = 0; public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();if(n<=2)//首先把临界状况写出来{if(n==1)System.out.println(1);elseSystem.out.println(0);return;}boolean[][] mark = new boolean[n][n];for(int i = 0;i<n;i++)//这里主要mark是数组,是引用类型变量,在方法中会对它的值进行改变,
//但是我们进行了回溯操作,每次调用完都会回到初始值,所以不用担心递归污染{dfs(0,i,mark,1);//这里在第一行已经落子,所以index初始值为1}System.out.println(sum);scan.close();}public static void dfs(int x,int y,boolean[][]mark,int index){if(!cheak(x,y,mark))//不满足约束条件return;if(index == mark.length)//下够n个直接return{sum++;return;}mark[x][y] = true;for(int i = 0;i<mark.length;i++)dfs(x+1,i,mark,index+1);//x+1代表继续搜索下一行mark[x][y] = false;//回溯语句}public static boolean cheak(int x,int y,boolean[][]mark)//减枝函数{if(x<0||x>=mark.length||y<0||y>=mark.length)//是否在棋盘范围内return false;for(int i = 0;i<mark.length;i++)//是否在同一列{if(mark[i][y]==true)return false;}//是否在同一对角线for(int i = x,j = y;i>=0&&i<mark.length&&j>=0&&j<mark.length;i--,j--){if(mark[i][j]==true)return false;}for(int i = x,j = y;i>=0&&i<mark.length&&j>=0&&j<mark.length;i--,j++){if(mark[i][j]==true)return false;}//如果都满足就可以落子return true;}
}

本题犯错:

1.当n为1时判断错误,是有一种情况的,而非0种,思考不够全面

2.我们这里是对行进行搜索,在cheak里面应该对列进行判断,写成行了,粗心问题

3.本题其实还可以优化,懒得改了,测试用例全部通过

4.在主函数调用dfs时实际上第一行已经落子了,一开始将index写成0了,粗心问题

5.一开始的逻辑思考方向有问题,题目只给了约束条件,应该从约束条件进行思考,而非落子规律

http://www.dtcms.com/wzjs/813022.html

相关文章:

  • 网站建设html5模板周口搜索引擎优化
  • 怎么做优惠券的网站网站备案多少天
  • 如何入侵网站后台密码Wordpress标签与分类
  • 建设网站的企业多少钱中信建设有限责任公司崔玮
  • 网站预约挂号怎么做wordpress卢松松2019
  • wordpress网站备份还原百度收录关键词查询
  • php个人网站简洁微信哪个公司开发
  • 福建工程建设网站网站的主题
  • 网站开发能赚多少钱建盏的好处
  • 网站哪些付款二维码是怎么做的网站底部导航制作
  • 深圳网站设计公司费用大概多少网站开发制作心得
  • 电子政务网站建设总结网络企业推广
  • 多种五屏网站建设wordpress纯首页
  • 网站模板破解下载龙岗区建设工程交易服务中心
  • 做电商网站企业网站模板下载模板下载
  • 河南住房和建设厅网站视频怎么转成网址链接
  • asp网站 打开株洲seo优化公司
  • 医院建网站百度账号注销
  • 合肥 网站建设公司哪家好大宇网络做网站怎么样
  • 盐山联通大厦 网站建设西宁网站建设报价
  • 有没有专门教做扯面的网站做彩票网站违法吗
  • 安徽城乡建设厅官网站建模培训机构
  • 怎么在本地安装网站怎么做网页站点
  • 网站推广工具网络做的网站是怎么被收录
  • app开发定制外包22金华网站建设seo
  • 美食欣赏网站河北省保定市唐县城乡建设网站
  • 网站备案核验单怎么选智慧团建密码只能是8位吗
  • 做网站 工商 非法经营网站文件夹命名怎么做
  • 网站建设 淘宝详情深圳做网站推广排名
  • phpcms 网站转移南阳网站排名