切换到宽版
  • 4264阅读
  • 1回复

跳马问题 [复制链接]

上一主题 下一主题
离线雨化石
 
只看楼主 倒序阅读 0 发表于: 2006-12-07
在半张中国象棋的棋盘上,一只马从左下角跳到右上角,只允许往右跳,不允许往左跳,问能有多少种跳步方案.
离线雨化石
只看该作者 1 发表于: 2006-12-07
我编好了,大家瞧瞧:var dx,dy,g,x,y:array [0..10000] of integer;
  t,i,s:integer;
begin
  dx[1]:=2;dy[1]:=1;dx[2]:=1;dy[2]:=2;dx[3]:=-1;dy[3]:=2;dx[4]:=-2;dy[4]:=1;
  x[0]:=0;y[0]:=0;
  t:=1;
  repeat
    while g[t]<4 do
        begin
        g[t]:=g[t]+1;
        x[t]:=x[t-1]+dx[g[t]];
        y[t]:=y[t-1]+dy[g[t]];
        if (x[t]>=0) and (x[t]<=4) then
          if (y[t]<=8) then
          if (x[t]=4) and (y[t]=8) then
            begin
              s:=s+1;
              write(s,':');
              write('(',x[0],',',y[0],')');
              for i:=1 to t do
                write('->(',x,',',y,')');
              writeln;
            end
          else
            t:=t+1;
        end;
        g[t]:=0;t:=t-1;
    until (t=0);
end.
快速回复
限100 字节
 
上一个 下一个