看板 BH06thSP 關於我們 聯絡資訊
這....不是Java吧.... 還是是極高深的Java.....@@ 我怎麼一點也看不懂^^" ※ 引述《robrob99 (梁龍(都沒找我))》之銘言: : ※ 引述《abacada (鋼琴大賽報名中)》之銘言: : : 他現在在線上啊 : program tt; : var a:array [1..8] of integer; : b,c,d:array [-7..16] of integer; : t,i,j,k:integer; : procedure print; : begin : t:=t+1; : write(t,' '); : for k:=1 to 8 do write(a[k],' '); : writeln; : end; : procedure try(i:integer); : var j:integer; : begin : for j:=1 to 8 do {每個皇后都有8種可能位置} : if (b[j]=0) and (c[i+j]=0) and (d[i-j]=0) then {判斷位置是否衝突} : begin : a[i]:=j; {擺放皇后} : b[j]:=1; {宣佈佔領第J行} : c[i+j]:=1; {佔領兩個對角線} : d[i-j]:=1; : if i<8 then try(i+1) {8個皇后沒有擺完,遞迴擺放下一皇后} : else print; {完成任務,列印結果} : b[j]:=0; {回溯} : c[i+j]:=0; : d[i-j]:=0; : end; : end; : begin : for k:=-7 to 6 do {資料初始化} : begin : b[k]:=0; : c[k]:=0; : d[k]:=0; : end; : try();{從第1個皇后開始放置} : end : 自己看看吧 -- ※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw) ◆ From: 61.230.25.74