欢迎来到天天文库
浏览记录
ID:49199997
大小:391.00 KB
页数:41页
时间:2020-03-01
《PASCAL基础训练题目及题解(共享).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PASCAL基础训练题目及题解[execans.2为深度优先搜索,广度优先搜索类,及技巧性题目题解】【题目1】N皇后问题(八皇后问题的扩展)【题目2]排球队员站位问题【题目3]把自然数N分解为若干个自然数之和。【题目4】把自然数N分解为若干个自然数之积。【题目51马的遍历问题。【题目61加法分式分解【题目71地图着色问题【题目8]在的正方形中放置长为2,宽为1的长条块,【题目9】找迷宫的最短路径。(广度优先搜索算法)【题目10]火车调度问题【题目11】农夫过河【题目12】七段数码管问题。【题目131把这8个数放入下图8个格中,
2、要求相邻的格(横,竖,对角线)上填的数不连续.【题目141在4x4的棋盘上放置8个棋,要求每一行侮一列上只能放置2个.【题目15】迷宫问题•求迷宫的路径.(深度优先搜索法)【题目16】一笔画问题【题目17】城市遍历问题.【题目18】棋子移动问题【题目191求集合元素问题(l,2x+l,3X+l类)【题目】N皇后问题(含八皇后问题的扩展,规则同八皇后):在N*N的棋盘上,放置N个皇后,要求每一横行每一列,每一对角线上均只能放置一个皇后,问可能的方案及方案数。constmax=8;vari,j:integer;a:array[l.
3、.max]ofO..max;{放皇后数组}b:array[2..2*max]ofboolean;{/对角线标志数组}c:array[-(max-1)..max-1]ofboolean;{对角线标志数组}col:array[l..max]ofboolean;{列标志数组}totakinteger;{统计总数)procedureoutput;{输岀}vari:integer;beginfori:=ltomaxdowrite(afil:3);write(,');if(total+1)mod2=0thenvvriteln;inc(t
4、otal);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);varij:integer;beginfori:=Itomaxdo{每一行均有max种放法}ifok(i,dep)thenbegina[dep]:=i;b[i+dep]
5、:=false;{/对角线已放标志}c[dep-i]:=false;{对角线已放标志}col[i]:=false;{列已放标志}ifdep=maxthenoutputelsetry(dep+1);{递归下一层}a[dep]:=0;{取走皇后,回溯}b[i+dep]:=true;{恢复标志数组}c[dep-i]:=true;col[il:=true;end;end;beginfori:=ltomaxdobegina[i]:=0;col[i]:=true;end;fori:=2to2*maxdob[i]:=true;fori:=
6、-(max-l)tomax-1doc[i]:=true;total:=0;try(l);writelnf^otak^total);end.【测试数据】n=8八皇后问题No.[1]15863724No.f2116837425No.[3117468253No.f4]17582463No.f5]246831175NoJ6]25713864No.f7125741863No.f8]26174835No.[9]26831475NoJ10]27368514No.[ll]27581463No.[12]28613574No.[13]317582
7、46No.f14]35281746No.[15]35286471No.f16]35714286No.f17]35841726NoJ18]36258174No.f19]36271485No.[20]36275184No.[21]36418572No.[22]36428571No.[23]36814752No.[24]36815724No.[25]36824175No.f26]37285146No.[27]37286415No.[28]38471625No.[29]41582736No.[30]41586372No.[31]425
8、86137No.[32]42736815No.f33]42736851No.[34]42751863No.[35
9、42857136No.[36]42861357No.f37]46152837No.[38]46827135No.[39]46831752No.[40]471852
此文档下载收益归作者所有