打印

[网络与技术] 迷宫问题(PASCAL语言)

迷宫问题(PASCAL语言)

看看我的程序吧:
program migong(input,output);
var
x,y,i,j,k,t:integer;
l,w:array[1..4] of integer;
a:array[0..51,0..51]of 0..1;
s:array[1..50*50]of 1..4;
begin
read(x,y);
for i:=0 to (x+1) do
  for j:=0 to(y+1) do
    read(a[i,j]);
for i:=1 to x do
begin
  for j:=1 to y do
    write(a[i,j]);
  writeln;
end;
i:=1;j:=1;k:=1;t:=1;
l[1]:=1; w[1]:=0;
l[2]:=0; w[2]:=1;
l[3]:=-1; w[3]:=0;
l[4]:=0; w[4]:=-1;
repeat
  if(a[i+l[k],j+w[k]]=0) then begin
                             s[t]:=k;t:=t+1;
                             i:=i+l[k];
                             j:=j+w[k];
                             k:=k-1;
                             if k=0 then k:=4;
                             end
                        else  begin
                              k:=k+1;
                              if k=5 then k:=1;
                              if(k=s[t-1]-2)and(k=s[t-1]+2)
                                then begin
                                       t:=t-1;
                                       k:=s[t]-1;
                                     end
                              end
until(i=x)and(j=y);
writeln('the path out of migong is');
for i:=1to t-1 do
  begin
    write(s:2);
    if i=8 then writeln
  end.


  

TOP

回复: 迷宫问题(PASCAL语言)

没图,看得很晕。如果没看错的话,是深度优先搜索

TOP

回复: 迷宫问题(PASCAL语言)

深度优先搜索?
没看懂

TOP

回复: 迷宫问题(PASCAL语言)

栈,知道不?

TOP

回复: 迷宫问题(PASCAL语言)

楼上程序是干什么用的?

TOP

回复: 迷宫问题(PASCAL语言)

可惜迷宫数据要自己输入,要是能用程序生成就好啦

TOP

回复: 迷宫问题(PASCAL语言)

楼上没学数据结构?竟然问这种问题

TOP

回复: 迷宫问题(PASCAL语言)

我问了什么问题?

TOP

回复: 迷宫问题(PASCAL语言)


Rick.One 于 2004-08-04 00:10 在大作中提到:
我问了什么问题?

他这个“楼上”指的是楼主吧!

TOP

回复: 迷宫问题(PASCAL语言)


Rick.One 于 2004-07-21 12:43 在大作中提到:
可惜迷宫数据要自己输入,要是能用程序生成就好啦



TOP

回复: 迷宫问题(PASCAL语言)

一种快速解法:

TOP

回复: 迷宫问题(PASCAL语言)

你的迷宫程序编的太复杂!!!

TOP

当前时区 GMT+8, 现在时间是 2009-1-8 07:59

Processed in 0.086461 second(s), 6 queries.