全排列問題pascal解題程式

2021-07-25 03:11:04 字數 692 閱讀 1563

var

a,b:array[0..9]of longint;

n:longint;

procedure print;

vari:longint;

begin

for i:=1 to n do

write(a[i]:5);//要保留五個常寬

writeln;

end;

procedure search(dep:longint);//dep是當前填到的第幾個數

vari:longint;

begin

if dep>n then//如果填完了就輸出

begin

print;

exit;

end;

for i:=1 to n do//n個位置

begin

if b[i]=0 then//若第i個位置還沒填

begin

b[i]:=1;//變為已用

a[dep]:=i;//把i填進去

search(dep+1);//搜下一位

b[i]:=0;//回溯

end;

end;

end;

begin

read(n);

fillchar(b,sizeof(b),0);//賦值

search(1);//搜尋

end.

全排列問題 解題報告

全排列問題 解題報告 2015年08月12日 21 04 52 閱讀數 1488 全排列問題 問題描述 輸出自然數1到n所有不重複的排列,即n的全排列,要求所產生的任一數字序列中不允許出現重複的數字。輸入格式 n 1 n 9 輸出格式 由1 n組成的所有不重複的數字序列,每行乙個序列。輸入樣例 3 ...

部落衛隊pascal解題程式

type jh set of 0.100 集合 varn,m,i,u,v,tj longint w jh a,f array 0.100 of boolean s array 1.100 of jh procedure search dep longint w jh t longint dep是第幾...

騎士旅行pascal解題程式

這題我是用廣度優先搜尋的方法來做的 我先找出下乙個能走的點,再把它放進佇列裡,如果到了目標點,就把tail放進best,tail等於0,最後輸出。做這題的時候,用最大資料時,一直棧溢位,原來是陣列不夠大,把50 50算成250了,搞得我除錯了超久。const dx array 1.8 of inte...