阅读下列说明和C代码,回答问题1至3,将解答写在答题纸的对应栏内。
【说明】
n皇后问题描述为:在一个n×n的棋盘上摆放n个皇后,要求任意两个皇后不能冲突,即任意两个皇后不在同一行、同一列或者同一斜线上。
算法的基本思想如下:
将第i个皇后摆放在第i行,i从1开始,每个皇后都从第1列开始尝试。尝试时判断在该列摆放皇后是否与前面的皇后有冲突,如果没有冲突,则在该列摆放皇后,并考虑摆放下一个皇后;如果有冲突,则考虑下一列。如果该行没有合适的位置,回溯到上一个皇后考虑在原来位置的下一个位置上继续尝试摆放皇后,……,直到找到所有合理摆放方案。
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
【问题1】(8分)
根据题干说明,填充C代码中的空(1)〜(4)。
【问题2】(3分)
根据题干说明和C代码,算法采用的设计策略为(5)
【问题3】(4分)
当n=4时,有(6)种摆放方式,分别为(7)。
信管网参考答案:
【问题1】
(1)queen[i]==queen[j]或其等价形式
(2)1
(3)Place(j)或其等价形式
(4)Nqueen(j+1)
【问题2】
回溯法
【问题3】
2个
(2413)
(3142)
查看解析:www.cnitpm.com/st/4171724130.html
相关推荐:
温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!
信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。
信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。
发表评论 查看完整评论 | |