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...