7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行、同列、同一对角线)。编写程序显示一个解决方案

  • 题目
    • 题目描述
    • 破题

题目

题目描述

***7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行、同列、同一对角线)。编写程序显示一个解决方案

破题

算法理解:点击这里跳转

设置三个长度均为8的数组,分别存放放置了“皇后”的y值、y=x+b的截距
从第一列开始遍历每一列,遍历范围[1, 8]中的整数值,作为y值,并存入y值数组(注意:需要判断y值是否重复,如果重复则重新生成)。计算y=x+b的截距,并存入截距数组(注意:需要判断截距值是否重复,如果重复则重新生成y值)
此时,8个“皇后”的在坐标轴的位置是:
(1, y[0])
(2, y[1])
(3, y[2])
(4, y[3])
(5, y[4])
(6, y[5])
(7, y[6])
(8, y[7])
输出结果

Java黑皮书课后题第7章:***7.36(游戏:八皇后问题)经典的八皇后难题是要将八个皇后放在棋盘上,任何两个皇后都不能相互攻击(没有两个皇后在同行、同列、同一对角线)。编写程序显示一个解决方案相关推荐

  1. Java黑皮书课后题第5章:**5.7(金融应用:计算将来的学费)假设今年某大学的大学为10000美元,学费的年增长率为5%,一年后,学费将是10500美元。编写程序,计算10年后的学费,10~13费

    **5.7(金融应用:计算将来的学费)假设今年某大学的大学为10000美元,学费的年增长率为5%,一年后,学费将是10500美元.编写程序,计算10年后的学费,以及从现在开始10年后开始计算,4年内的 ...

  2. Java黑皮书课后题第7章:*7.12(倒置数组)7.7节中的reverse方法通过复制到新数组实现倒置。改写方法将参数中传递的数组倒置,并返回该数组。编写一个测试程序,输入10个数字,倒置它们并显示

    7.12(倒置数组)7.7节中的reverse方法通过复制到新数组实现倒置.改写方法将参数中传递的数组倒置,并返回该数组.编写一个测试程序,输入10个数字,倒置它们并显示 题目 题目描述 破题 代码 ...

  3. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

    Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...

  4. Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的

    Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...

  5. Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字

    Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字 题目 代码 结果 题目 都在上面 代码 import java.math.B ...

  6. Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类

    Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...

  7. Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中

    Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...

  8. Java黑皮书课后题第10章:*10.1(Time类)设计一个名为Time的类。编写一个测试程序,创建两个Time对象(使用new Time()和new Time(555550000))

    Java黑皮书课后题第10章:*10.1设计一个名为Time的类.编写一个测试程序,创建两个Time对象 题目 程序 代码 Test1.java Test1_Time.java 运行结果 UML 题目 ...

  9. Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。

    Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...

最新文章

  1. @ResponseBody 和 @RequestBody 的作用
  2. jenkins+jmeter+ant+jmeter在Jenkins上报告
  3. 数据工厂 mysql_.net中利用数据工厂实现多数据库的操作
  4. iOS子构建Debug运行正常Release运行失败,提示证书问题
  5. .dll与.lib的关系总结
  6. std:forward 完美转发
  7. Leaflet中使用Leaflet-echarts3插件实现航班航线动态模拟
  8. 元胞自动机(Cellular Automata)
  9. MySQL——分页查询
  10. 使用JBehave,Gradle和Jenkins的行为驱动开发(BDD)
  11. java统计空间占用_JVM —— Java 对象占用空间大小计算
  12. 华为云TaurusDB性能挑战赛-java赛题mvn编译时报错:不支持multi-catch
  13. Slim下的函数介绍(一)(转)
  14. 时空不平坦,能量不守恒。大爆炸时粒子凭空产生的情形
  15. L298N模块详细使用教程
  16. FileUtils入门使用
  17. MATLAB符号运算小技巧
  18. 数学之美笔录(3):隐含马尔可夫模型(详解)
  19. 使用饭碗警告实现简单的用户反馈通知
  20. 计算机主板提示ahci,电脑BIOS没有AHCI功能没有办法BIOS刷新怎么办

热门文章

  1. p话少说,放码过来?
  2. P1083 借教室(差分+二分)
  3. 阿里云多个智物新品集体出道,持续加速产业智能化
  4. 智稳双全--AnalyticDB如何助力菜鸟运配双十一
  5. troubleshoot之:用control+break解决线程死锁问题
  6. 星辰大海:阿里数据体验技术揭秘!
  7. 《巫师 3:狂猎》:传统叙事在开放世界中的水土不服
  8. 虚拟机磁盘扩容parted
  9. mysql数据备份mysqldump
  10. Java工程师学习步骤