永发信息网

n皇后递归算法

答案:2  悬赏:70  手机版
解决时间 2022-01-01 02:44
n皇后问题看不懂,是不是n*n的棋盘,不一定有n个皇后啊,递归回溯算法是什么思路。哪位大神指教下
最佳答案
就是深搜算法
代码如下:
var ans:array[1..13] of byte;
b,c,d:array[-12..26] of boolean;
n,i,max:longint;
procedure print;
var i:longint;
begin
for i:=1 to n do
write(ans [i] ,' ');
writeln;
end;
procedure gyw(i:integer);
var j:integer;
begin
if i>n then
begin
// print;
inc(max);
end
else for j:=1 to n do
if (b [j] =false)and(c[i+j]=false)and(d[i-j]=false) then
begin
ans [i] :=j;
b [j] :=true;
c[i+j]:=true;
d[i-j]:=true;
gyw(i+1);
b [j] :=false;
c[i+j]:=false;
d[i-j]:=false;
end;
end;
begin
read(n);
gyw(1);
writeln(max);
end.
Pascal的
全部回答
思路:递归求阶乘函数,如果输入的参数等于1则返回1,否则返回n乘以该函数下次递归。 参考代码: #include int fun(int n) { if(n==1||n==0) return 1;//如果参数是0或者1返回1 return n*fun(n-1);//否则返回n和下次递归的积 } int main() { int n; scanf("%d",&n); printf("%d\n",fun(n)); return 0; } 【递归算法的原理】 递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写 递归能使程序变得简洁和清晰。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
哪个牌子的饼干好吃
下列关于基因工程的有关叙述,正确的是A.限制
戴尔一体机 3030AIO 屏幕亮度怎么调节? 5分
He seemed to have read the book before.转
我国高新技术产业的第一大部门是________产品
机票改签退还差价吗
身份证怎么复印正反面
单选题Today, we have many
6s一玩就电池发热是怎么回事
我想下一款英雄联盟的单机版,好像2015有个版
异地同业拆借的会计分录怎么写
一个角一个光念什么成语
大家觉得这座城市怎么样呢?
深圳鸿丰大酒店南山这里的服务咋样?好不好的
我们能从各个方向看到花园里盛开的鲜花,这是
推荐资讯
黎明实业公司社区居委会地址在什么地方?想过
北京联通宽带电话号码?
1.姜夔:南宋著名派词人、音乐家。字尧章,号
苹果手机为什么没声音
关于含有近义词的成语
如图,已知∠AOC=60°,∠BOD=90°,∠AOB是
判断题如果a×=1,那么a与互为倒数.
冬季胎和夏季胎有什么区别。南方冬季用冬季胎
没自信 怎么办
眼镜片被划了怎么办
天星寨地址在什么地方,想过去办事
北京胡同地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?