【求解】pascal题目 求助

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:16:32
右下图所示的是空心框架,它是由六个单位正方体组成,问:从框架左下外顶点走到右上内顶点共有多少条最短路线?
郁闷 弄不了图
http://tieba.baidu.com/f?kz=335672886 看这里 我发到百度吧里
如果觉得分不够 我可以加分!
只能走边缘

我加了打路径:
const r:array[1..3,1..3] of integer=
((0,0,1),(0,1,0),(1,0,0));
var g:array[0..100,0..100,0..100]of byte;
s:array[1..1000,1..3]of byte;
sum,n,m,i,j,a1,a2,a3,b1,b2,b3,h,t,x,y,z,total:integer;
f:array[1..1000]of integer;
procedure out(x,i:integer);
begin
if f[x]=0 then sum:=i
else out(f[x],i+1);
if sum-i=0 then write('(',s[x,1],',',s[x,2],',',s[x,3],')')
else write('-','(',s[x,1],',',s[x,2],',',s[x,3],')')
end;
begin
assign(output,'knight.out'); rewrite(output);
h:=0; t:=1; s[1,1]:=1; s[1,2]:=1; s[1,3]:=1; f[1]:=0;
repeat
inc(h);
for i:=1 to 3 do begin
x:=s[h,1]+r[i,1]; y:=s[h,2]+r[i,2]; z:=s[h,3]+r[i,3];
if g[x,y,z]=0 then begin
inc(t);
s[t,1]:=x;
s[t,2]:=y;
s[t,3]:=z;
f[t]:=h; g[x,y,z]:=1;