单选题

要在x的棋盘上摆放个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、同一列和相同的对角线上,则一般采用来实现()

A. 分治法
B. 动态规划法
C. 贪心法
D. 回溯法

查看答案
该试题由用户722****30提供 查看答案人数:45652 如遇到问题请 联系客服
正确答案
该试题由用户722****30提供 查看答案人数:45653 如遇到问题请联系客服

相关试题

换一换
单选题
要在8*8的棋盘上摆放8个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、()
A.r /u003e●要在8*8 的棋盘上摆放 8 个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、同一列和相同的对角线上,则一般采用 (62) 来实现。(62) B.分治法 C.动态规划法 D.贪心法 E.回溯法
答案
单选题
要在x的棋盘上摆放个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、同一列和相同的对角线上,则一般采用来实现()
A.分治法 B.动态规划法 C.贪心法 D.回溯法
答案
单选题
要在8*8的棋盘上摆放8个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、同一列和相同的对角线上,则一般采用(  )来实现。
A.分治法 B.动态规划法 C.贪心法 D.回溯法
答案
单选题
●要在8*8 的棋盘上摆放 8 个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、同一列和相同的对角线上,则一般采用 (62) 来实现。(62)
A.分治法 B.动态规划法 C.贪心法 D.回溯法
答案
单选题
国际象棋的皇后可以沿横线、竖线、斜线走,为了控制一个4×4的棋盘至少要放几个皇后( )
A.1 B.2 C.3 D.4
答案
主观题
n皇后问题描述为:在一个n×n的棋盘上摆放n个皇后,要求任意两个皇后不能冲突,即任意两个皇后不在同一行、同一列或者同一斜线上。
算法的基本思想如下:
将第i个皇后摆放在第i行,i从1开始,每个皇后都从第1列开始尝试。尝试时判断在该列摆放皇后是否与前面的皇后有冲突,如果没有冲突,则在该列摆放皇后,并考虑摆放下一个皇后;如果有冲突,则考虑下一列。如果该行没有合适的位置,回溯到上一个皇后,考虑在原来位置的下一个位置上继续尝试摆放皇后,……,直到找到所有合理摆放方案。
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
n:皇后数,棋盘规模为n×n
queen[]:皇后的摆放位置数组,queen[i]表示第i个皇后的位置,1≤queen[i]≤n
(2)C程序
#include<stdio.h>
#define n 4
int queen[n+1];
void Show(  ){/*输出所有皇后摆放方案*/
int i;
printf("(");
for(i=1;i<=n;i++){
printf("%d",queen[i]);
}
printf(")");
}
int Place(int j){/*检查当前列能否放置皇后,不能放返回0,能放返回1*/
int i;
for(i=1;i<j;i++){/*检查与已摆放的皇后是否在同一列或者同一斜线上*/
if(((1))‖abs(queen[i]-queen[j])==(j-i)){
return 0;
}
}
return(2);
}
void Nqueen(int j){
int i;
for(i=1;i<=n;i++){
queen[j]=i;
if((3)){
if(j==n){/*如果所有皇后都摆放好,则输出当前摆放方案*/
Show(  );
}else{/*否则继续摆放下一个皇后*/
(4);
}
}
}
}
int main(  ){
Nqueen(1);
return 0;
}
【问题1】(8分)
根据题干说明,填充C代码中的空(1)(4)。
【问题2】(3分)
根据题干说明和C代码,算法采用的设计策略为(5)。
【问题3】(4分)
当n=4时,有(6)种摆放方式,分别为(7)。
答案
主观题
《魏书》记载的五个皇后中,属于魏文帝时期的有(): 文德郭皇后|文昭甄皇后|明悼毛皇后|武宣卞皇后
答案
主观题
清前期出自科尔沁部三个皇后是()皇后、孝庄文皇后、孝惠章皇后。
答案
单选题
马援之女“马皇后”为()的皇后。
A.汉明帝 B.汉武帝 C.光武帝 D.汉章帝
答案
多选题
若与乘客发生冲突,不能?
A.退避 B.躲闪 C.与乘客发生身体接触 D.与乘客争吵 E.通知车站工作人员
答案
热门试题
班级同学之间发生冲突是 唐朝著名的“韦皇后”是哪位皇帝的皇后? 皇后 木偶皇后   伏皇后 客户之间发生冲突时,应该怎样处理() 迄今发现唯一的汉代皇后玉玺皇后之玺是()的 “家长之间发生冲突”老师应该如何做() 观众之间发生冲突,马上在场协调解决() 皇后逃之夭夭 花中皇后指的是() 韩剧《奇皇后》是描述高丽人变成中国哪朝皇后的故事?() 石中皇后指的是() 皇后是指什么? ()被誉为款式皇后 石中皇后指的是() 教师要承担多种角色,不同的角色之间容易发生冲突而导致心理问题的出现() MultiGo 4不能在棋盘上添加字母或标记() 阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
n-皇后问题是在n行n列的棋盘上放置n个皇后,使得皇后彼此之间不受攻击,其规则是任意两个皇后不在同一行、同一列和相同的对角线上。
拟采用以下思路解决n-皇后问题:第i个皇后放在第i行。从第一个皇后开始,对每个皇后,从其对应行(第i个皇后对应第i行)的第一列开始尝试放置,若可以放置,确定该位置,考虑下一个皇后;若与之前的皇后冲突,则考虑下一列;若超出最后一列,则重新确定上一个皇后的位置。重复该过程,直到找到所有的放置方案。
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
pos:一维数组,pos[i]表示第i个皇后放置在第i行的具体位置。
count:统计放置方案数。
i,j,k:变量。
N:皇后数。
(2)C程序
#include <stdio.h>#include <math.h>#define N4/*判断第k个皇后目前放置位置是否与前面的皇后冲突*/in isplace(int pos[],int k) {int i;for(i=1; i<k; i++) {if( (1) || fabs(i-k) ══fabs(pos[i] - pos[k])) {return();}}return 1;} int main() {int i,j,count=1;int pos[N+1];//初始化位置for(i=1; i<=N; i++) {pos[i]=0;}(2) ;while(j>=1) {pos[j]= pos[j]+1;/*尝试摆放第i个皇后*/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[i]);}printf("");}/*考虑下一个皇后*/if(pos[j]<=N&&(4) ) {j=j+1;} else{ //返回考虑上一个皇后pos[j]=0;(5) ;}}return 1;}。
【问题1】(10分)
根据以上说明和C代码,填充C代码中的空(1)~(5)。
【问题2】(2分)
根据以上说明和C代码,算法采用了(6)设计策略。
【问题3】(3分)
上述C代码的输出为:(7)。
“乐器皇后”是什么乐器?
购买搜题卡 会员须知 | 联系客服
会员须知 | 联系客服
关注公众号,回复验证码
享30次免费查看答案
微信扫码关注 立即领取
恭喜获得奖励,快去免费查看答案吧~
去查看答案
全站题库适用,可用于E考试网网站及系列App

    只用于搜题看答案,不支持试卷、题库练习 ,下载APP还可体验拍照搜题和语音搜索

    支付方式

     

     

     
    首次登录享
    免费查看答案20
    微信扫码登录 账号登录 短信登录
    使用微信扫一扫登录
    登录成功
    首次登录已为您完成账号注册,
    可在【个人中心】修改密码或在登录时选择忘记密码
    账号登录默认密码:手机号后六位