資源描述:
《PASCAL基礎(chǔ)訓(xùn)練題目及題解(共享).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、PASCAL基礎(chǔ)訓(xùn)練題目及題解[execans.2為深度優(yōu)先搜索,廣度優(yōu)先搜索類,及技巧性題目題解】【題目1】N皇后問題(八皇后問題的擴(kuò)展)【題目2]排球隊(duì)員站位問題【題目3]把自然數(shù)N分解為若干個(gè)自然數(shù)之和。【題目4】把自然數(shù)N分解為若干個(gè)自然數(shù)之積。【題目51馬的遍歷問題。【題目61加法分式分解【題目71地圖著色問題【題目8]在的正方形中放置長為2,寬為1的長條塊,【題目9】找迷宮的最短路徑。(廣度優(yōu)先搜索算法)【題目10]火車調(diào)度問題【題目11】農(nóng)夫過河【題目12】七段數(shù)碼管問題。【題目131把這8個(gè)數(shù)放入下圖8個(gè)格中,
2、要求相鄰的格(橫,豎,對(duì)角線)上填的數(shù)不連續(xù).【題目141在4x4的棋盤上放置8個(gè)棋,要求每一行侮一列上只能放置2個(gè).【題目15】迷宮問題?求迷宮的路徑.(深度優(yōu)先搜索法)【題目16】一筆畫問題【題目17】城市遍歷問題.【題目18】棋子移動(dòng)問題【題目191求集合元素問題(l,2x+l,3X+l類)【題目】N皇后問題(含八皇后問題的擴(kuò)展,規(guī)則同八皇后):在N*N的棋盤上,放置N個(gè)皇后,要求每一橫行每一列,每一對(duì)角線上均只能放置一個(gè)皇后,問可能的方案及方案數(shù)。constmax=8;vari,j:integer;a:array[l.
3、.max]ofO..max;{放皇后數(shù)組}b:array[2..2*max]ofboolean;{/對(duì)角線標(biāo)志數(shù)組}c:array[-(max-1)..max-1]ofboolean;{對(duì)角線標(biāo)志數(shù)組}col:array[l..max]ofboolean;{列標(biāo)志數(shù)組}totakinteger;{統(tǒng)計(jì)總數(shù))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;{/對(duì)角線已放標(biāo)志}c[dep-i]:=false;{對(duì)角線已放標(biāo)志}col[i]:=false;{列已放標(biāo)志}ifdep=maxthenoutputelsetry(dep+1);{遞歸下一層}a[dep]:=0;{取走皇后,回溯}b[i+dep]:=true;{恢復(fù)標(biāo)志數(shù)組}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.【測試數(shù)據(jù)】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