资源描述:
《【题目1】n皇后问题(八皇后问题的扩展)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、【题目1】N皇后问题(八皇后问题的扩展)【题目2】排球队员站位问题【题目3】把自然数N分解为若干个自然数之和。【题目4】把自然数N分解为若干个自然数之积。【题目5】马的遍历问题。【题目6】加法分式分解【题目7】地图着色问题【题目8】在n*n的正方形中放置长为2,宽为1的长条块,【题目9】找迷宫的最短路径。(广度优先搜索算法)【题目10】火车调度问题【题目11】农夫过河【题目12】七段数码管问题。【题目13】把1-8这8个数放入下图8个格中,要求相邻的格(横,竖,对角线)上填的数不连续.【题目14】在4×4的棋盘上放置8个棋,要求每一行,每一列上只能放置2个.【题目15】迷宫问题.求
2、迷宫的路径.(深度优先搜索法)【题目16】一笔画问题【题目17】城市遍历问题.【题目18】棋子移动问题【题目19】求集合元素问题(1,2x+1,3X+1类)================================================================================================================================================================【题目】N皇后问题(含八皇后问题的扩展,规则同八皇后):在N*N的棋盘上,放置N个皇后,要求每一横行每一列,每一
3、对角线上均只能放置一个皇后,问可能的方案及方案数。constmax=8;vari,j:integer;a:array[1..max]of0..max;{放皇后数组}b:array[2..2*max]ofboolean;{/对角线标志数组}c:array[-(max-1)..max-1]ofboolean;{对角线标志数组}col:array[1..max]ofboolean;{列标志数组}total:integer;{统计总数}procedureoutput;{输出}vari:integer;beginwrite('No.':4,'[',total+1:2,']');fori:=
4、1tomaxdowrite(a[i]:3);write('');if(total+1)mod2=0thenwriteln;inc(total);end;functionok(i,dep:integer):boolean;{判断第dep行第i列可放否}beginok:=false;if(b[i+dep]=true)and(c[dep-i]=true){and(a[dep]=0)}and(col[i]=true)thenok:=trueend;proceduretry(dep:integer);vari,j:integer;beginfori:=1tomaxdo{每一行均有max种放法
5、}ifok(i,dep)thenbegina[dep]:=i;b[i+dep]:=false;{/对角线已放标志}c[dep-i]:=false;{对角线已放标志}col[i]:=false;{列已放标志}ifdep=maxthenoutputelsetry(dep+1);{递归下一层}a[dep]:=0;{取走皇后,回溯}b[i+dep]:=true;{恢复标志数组}c[dep-i]:=true;col[i]:=true;end;end;beginfori:=1tomaxdobegina[i]:=0;col[i]:=true;end;fori:=2to2*maxdob[i]:=
6、true;fori:=-(max-1)tomax-1doc[i]:=true;total:=0;try(1);writeln('total:',total);end.【测试数据】n=8八皇后问题No.[1]15863724No.[2]16837425No.[3]17468253No.[4]17582463No.[5]24683175No.[6]25713864No.[7]25741863No.[8]26174835No.[9]26831475No.[10]27368514No.[11]27581463No.[12]28613574No.[13]31758246No.[14]3528
7、1746No.[15]35286471No.[16]35714286No.[17]35841726No.[18]36258174No.[19]36271485No.[20]36275184No.[21]36418572No.[22]36428571No.[23]36814752No.[24]36815724No.[25]36824175No.[26]37285146No.[27]37286415No.[28]38471625No.[29]41582736No.[30]