首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题。 【说明】 n一皇后问题是在n行n列的棋盘上放置n个皇后,使得皇后彼此之间不受攻击,其规则是任意两个皇后不在同一行、同一列和相同的对角线上。 拟采用以下思路解决n.皇后问题:第i个皇后放在第i行。从第一个皇后
阅读下列说明和C代码,回答问题。 【说明】 n一皇后问题是在n行n列的棋盘上放置n个皇后,使得皇后彼此之间不受攻击,其规则是任意两个皇后不在同一行、同一列和相同的对角线上。 拟采用以下思路解决n.皇后问题:第i个皇后放在第i行。从第一个皇后
admin
2016-09-08
37
问题
阅读下列说明和C代码,回答问题。
【说明】
n一皇后问题是在n行n列的棋盘上放置n个皇后,使得皇后彼此之间不受攻击,其规则是任意两个皇后不在同一行、同一列和相同的对角线上。
拟采用以下思路解决n.皇后问题:第i个皇后放在第i行。从第一个皇后开始,对每个皇后,从其对应行(第i个皇后对应第i行)的第一列开始尝试放置,若可以放置,确定该位置,考虑下一个皇后;若与之前的皇后冲突,则考虑下一列;若超出最后一列,则重新确定上一个皇后的位置。重复该过程,直到找到所有的放置方案。
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
pos:一维数组,pos
表示第i个皇后放置在第i行的具体位置
count:统计放置方案数
i,j,k:变量
N:皇后数
(2)C程序
#include <stdio.h>
#include <math.h>
#define N 4
/*判断第k个皇后目前放置位置是否与前面的皇后冲突*/
int isplace(int pos[], int k){
int i;
for(i=1; i<k; i++){
if(
(1)一|| fabs(i一k)==fabs(pos[iJ一poslk])){
return 0;
}
}
return 1;
}
int main(){
int i, j, count=1;
int pos[N+1];
//初始化位置
for(i=1; i<=N;i++){
pos
=0;
}
(2);
while(j >=1){
pos [j] =pos [j]+1;
/*尝试摆放第j个皇后*/
while(pos [j] <=N&&(3)){
pos [j]=pos [j]+1;
}
/*得到一个摆放方案*/
if(pos[j] <=N&&j==N){
printf("方案%d:",count++);
for(i=1;i<=N;i++){
printf("%d ", pos
);
}
printf("\n");
}
/*考虑下一个皇后*/
if(pos[jl <=N&&
(4)){
j =j +1;
} else{ //返回考虑上一个皇后
pos [j] =0f
(5);
}
}
return 1;
}
根据以上说明和C代码,填充C代码中的空(1)~(5)。
选项
答案
(1)pos[i]=pos[k] 或其等价形式 (2)j=1 (3)risplace(pos,j) 或其等价形式 (4)j<N 或其等价形式 (5)j=j一1 或其等价形式
解析
本题考查算法设计和C程序设计语言的相关知识。此类题目要求考生认真阅读题目,理解算法思想,并思考将算法思想转化为具体的程序设计语言的代码。
根据题干描述。空(1)所在的代码行判断皇后合法放置的约束条件,即不在同一行,这通过把第i个皇后放在第i行实现,条件“fabs(i一k)=fabs(pos
一pos[k])”判断的是当前摆放的皇后是否与之前摆放的皇后在同一对角线上。因此,空(1)判断的是当前摆放的皇后是否和之前摆放的皇后在同一列上,即应填入“pos
=pos[k]”。
根据算法思想和主函数上下文,空(2)处应该考虑第1个皇后,即初始化j为1,空(2)填写“j=1”。空(3)所在的行是判断放置第j个皇后的位置是否合适,“pos[j]<= N"表示在该行的合法列上,但还需要进一步判断是否与前面的皇后有冲突,根据满足条件后的语句,尝试放入下一列,因此空(3)处填入“risplace(pos,j)”。根据前面的注释,空(4)所在的行是考虑下一个皇后,其条件是,当前皇后找到了合适的位置,而且还存在下一个皇后,因此空(4)处应填入“j<N”。根据下面的注释,若当前皇后没有找到合适的位置,则应回溯,即再次考虑上一个皇后的位置,因此空(5)处填入“j=j一1”。
转载请注明原文地址:https://jikaoti.com/ti/Qsi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
与ISDN相关的网络设备主要有TA、NT1、NT2、TE1、TE2等。在图2-9所示的网络拓扑结构中,路由器Router1和ISDN之间是否需要加入终端适配器(TA)?请用150字以内的文字简要说明理由。在以上路由器Router2的配置命令列表中,di
与ISDN相关的网络设备主要有TA、NT1、NT2、TE1、TE2等。在图2-9所示的网络拓扑结构中,路由器Router1和ISDN之间是否需要加入终端适配器(TA)?请用150字以内的文字简要说明理由。以下是在路由器Router1上的部分配置信息,结
根据你的网络工程经验,请用250字以内的文字简要描述该21层教学综合大楼网络层次结构设计的要点。(不要求画图)该21层教学综合大楼网络规则方案不仅要体现所设计的网络能满足现有及未来几年信息系统的应用需求,还需具有较高的平均无故障时间和尽可能低的平均故障
如果ping127.0.0.1(本地循环地址),如果该地址无法Ping通,则说明了是什么原因?什么命令是一个监控TCP/IP网络的实用的工具,它可以显示实际的网络连接以及每一个网络接口设备的状态信息?什么命令是把网卡物理地址与IP静态地址捆绑在一起?
若采用电话线方式上网,并按要求在计算机连入网络的同时能通电话,连网速率高于500Kbps,可以选用哪种技术方案?其最高通信速率为多少?依据ISO/OSI参考模型对无线扩频网络设备进行分类,可以分为哪几种类型?用无线扩频设备实现网络互连需要何种配套设备
阅读以下有关网络接入方案的说明,回答问题1~3。【说明】某单位己完成了主干网络的建设任务,现在需要对其职工住宅区的用户接入主干网的技术方案作选型设计。职工住宅已有的通信条件是:(1)电话线(2)电视铜缆。在不重新布线的前提下,以下5种技术方
在RAS上存在着两个RJ45的端口,分别为“Console”与“AUX”,请问这两个端口的用途是什么?(控制在100个字以内)在第四步中,进入虚拟操作台后,在IOS环境下输入了如下的配置,请解释(1)~(4)处的标有下划线部分配置命令的含义(“◇”后为
阅读以下家庭HFC宽带接入Internet网的技术说明,结合网络连接拓扑图,根据要求回答问题1至问题5。【说明】混合光纤一同轴电缆网(即HFC网)将光纤敷设到小区,再通过光电转换节点,利用CATV的总线式同轴电缆网连接到用户,从而为用户提供Int
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整请将以下(11)~(14)空缺处的内容填写完整,并帮助郭工程师解释产生以下网络故障的原因。该网络建成后一直使用正常,但最近发现无线覆盖区域A、B
阅读以下基于Windows2003操作系统服务器实施负载平衡策略的技术说明,根据要求回答问题1至问题5。【说明】随着各行业信息化建设的不断深入,对网络应用服务器的处理能力、高可用性提出了更高的要求。尤其是高度信息化的企业中,关键性网络服务已经成
随机试题
腰椎间盘突出的基本病理变化是
简述螺旋模型以及可适应的情况。
患者,女,32岁。怀孕10个月,3小时前,阴道流出水样物约300ml,无子宫规律收缩征象急诊入院,诊断为胎膜早破。入院应采取的卧位是
夏雨与秋歌1990年结婚,2010年离婚,儿子夏雪(14岁)随秋歌生活。秋歌被公司外派学习一年,遂委托其妹妹秋莲照顾夏雪,现夏雪在放学路上将同学王某眼睛打伤,花去医疗费10万元。请问:()
[2009年,第99题]信息有多个特征,下列四条关于信息特征的描述中,错误的一条是()。
封闭楼梯间是指设有能阻挡烟气的双向弹簧门或()级防火门的楼梯间。
票据的作用包括( )。
确定劳动定额水平的基本原则不包括()。
张老师在讲桌两旁各放了一张桌子,凡是考试成绩下降严重的学生就要坐在讲桌旁,直到下次考试成绩有所提高才能回到原座位。张老师的做法()。
Britishdoctorsaretolaunchamajorclinicaltrialtoinvestigatewhetheracommonanti-depressiondrugcouldbeacheapande
最新回复
(
0
)