⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hanoi.pas

📁 PASCAL光盘资料PASCAL光盘资料PASCAL光盘资料
💻 PAS
字号:
program E2_5; {new hanoi}
const max=64;
			s:string[3]='ABC';
type
 arr=array[1..max] of byte;
var
 n:byte;
 sou,tar:arr;
 count:longint;
procedure init;
var
	i,j,k,x:integer;
begin
 assign(input,'hanoi.in');
 reset(input);
 readln(n);
 for i:=1 to 3 do
	begin
	 read(k);
	 for j:=1 to k do
		begin
		 read(x); sou[x]:=i;
		end;
	end;
 for i:=1 to 3 do
	begin
	 read(k);
	 for j:=1 to k do
		begin
		 read(x); tar[x]:=i;
		end;
	end;
 close(input);
end;

procedure move(k:integer;w:byte);
var i,j:integer;
begin
 if sou[k]=w then exit;
 j:=6-sou[k]-w;
 for i:=k-1 downto 1 do move(i,j);
 writeln('move ',k,' from ',s[sou[k]],' to ',s[w]);
 sou[k]:=w;
 inc(count);
end;

procedure main;
var i:integer;
begin
 assign(output,'hanoi.out');
 rewrite(output);
 for i:=n downto 1 do move(i,tar[i]);
 writeln(count);
 close(output);
end;

begin
 init; main;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -