pascal八皇后問題,八皇后問題 PASCAL

2023-03-04 22:20:08 字數 2289 閱讀 4774

1樓:市守沐

別人放程式,我一般不看的,好長。

所以我也不放了,告訴你幾種方法吧。

1:普通方法:搜尋(貌似12皇后還是13皇后就一秒鐘出不來了。2:利用棋盤的對稱,加快搜尋。

3:位運算(算是用2進位制模擬搜尋,只不過判斷和操作速度很快。具體請call我。

八皇后問題 pascal

2樓:匿名使用者

我的演算法是回溯。

program xy;

vara:array[1..100]of integer;

b,c,d:array[-100..100]of boolean;

n,i,j,k:integer;

procedure try(k:integer);

var i:integer;

beginif k>n then begin for j:=1 to n do write(a[j],'writeln;end

else begin

for i:=1 to n do

if (b[i])and(c[k+i])and(d[k-i])then begin a[k]:=i;

b[i]:=false;

c[k+i]:=false;

d[k-i]:=false;

try(k+1);

b[i]:=true;

c[k+i]:=true;

d[k-i]:=true;

end;end;

end;begin

readln(n);

fillchar(b,sizeof(b),true);

fillchar(c,sizeof(c),true);

fillchar(d,sizeof(d),true);

try(1);

readln;

end.能不能多給點分啊,我打的不容易啊~~~

八皇后問題的free pascal程式設計(要求有解釋)拜託各位大神

pascal 的八皇后問題? 20

pascal八皇后問題

3樓:匿名使用者

1樓,你似乎是沒學過dfs吧!8皇后都不知道,n皇后是8皇后的拓展。

8皇后**:

var x:array [1..8] of longint;

a,b,c:array [-7..16] of boolean;

i,o,tot:longint;

procedure dfs(i:longint);

varj:longint;

beginfor j:=1 to 8 do

beginif a[j] and b[i+j] and c[i-j] thenbegin

x[i]:=j;

a[j]:=false;

b[i+j]:=false;

c[i-j]:=false;

if i<8 then dfs(i+1)

else inc(tot);

a[j]:=true;

b[i+j]:=true;

c[i-j]:=true;

end;end;

end;begin

fillchar(a,sizeof(a),true);

fillchar(b,sizeof(b),true);

fillchar(c,sizeof(c),true);

dfs(1);

writeln(tot)

end.

pascal八皇后問題 煩指出錯誤在哪

4樓:匿名使用者

為什麼要用整數陣列呢?用布林陣列不是更方便嗎 !

陣列本身應作為遞迴過程的引數一步步地影響到後面的結果,遞迴過程中的陣列不能採用全域性陣列。

pascal 八皇后問題

5樓:網友

監視一下**報錯的。看看陣列中的變數例如a[i] 的i啊是不是超過了範圍,這個和xp沒有關係,高版本的編譯器中,如果你陣列下標越界的話,會在另外一個陣列的空位置借用一下,這樣很可能就能過掉。剛才我試了一下delphi 7 和 lazarus

26都能正常執行。cena 沒試,其實如果cena 過了就可以無視了。

6樓:匿名使用者

隨著windows版本的升級,對dos程式的相容性就越差。據說在vista下已經不允許全屏的dos的graph作圖了。

什麼是 八皇后問題 呀,什麼是八皇后問題?

八皇后問題是一個古老而著名的問題,是回溯演算法的典型例題。該問題是十九世紀著名的數學家高斯1850年提出 在8x8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。高斯認為有76種方案。1854年在柏林的象棋雜誌上不同的作者發表了40種...

c語言八皇后,c語言八皇后

這是經典題目,答案網上有的是,抄一個學學就可以了 回溯法進行求解,程式實現如下 include define queens 8 定義結果陣列的大小,也就是皇后的數目 int a queens 1 八皇后問題的皇后所在的行列位置,從1開始算起,所以加1 int main else if a i que...

用塔羅問感情,摸出聖盃侍從寶劍皇后

其實,我們一bai路走來都會遇du到自己喜歡zhi的人,並非一人而已。dao但我們因為法內律和道德的約束而鞏固著原有容的婚姻。這就是人類最偉大的理智,也是社會與家庭和諧的重要保證。你與現女友已經相處七年了,七年的風風雨雨,並沒有結束你們的愛情,為何此時你產生糾結呢?揭開你的心結,一定是遇到了與女友可...