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

📄 pils.pas

📁 PASCAL光盘资料PASCAL光盘资料PASCAL光盘资料
💻 PAS
字号:
var pro,tp:array[1..80000,1..3]of longint;
    a:array[1..100,1..100]of longint;
    b:array[1..100,1..100,1..8]of longint;
    step,ti,tj,npro,ntp,i,j,m,n,k:longint;
procedure setfile;
begin
  close(input);
  assign(input,'pils.in');
  reset(input);
  close(output);
  assign(output,'pils.out');
  rewrite(output);
end;
begin
  setfile;
  read(n,m);
  for i:=1 to m do for j:=1 to n do
  begin
    read(a[i,j]);
    for k:=1 to 8 do b[i,j,k]:=maxint;
  end;
  for i:=1 to 8 do b[1,1,i]:=0;
  npro:=8;
  for i:=1 to 8 do
  begin
    pro[i,1]:=1;
    pro[i,2]:=1;
    pro[i,3]:=i;
  end;
  repeat
    ntp:=0;
    for i:=1 to npro do
    begin
    case pro[i,3] of
    1:begin
      ti:=pro[i,1]-a[pro[i,1],pro[i,2]];
      tj:=pro[i,2]
      end;
    2:begin
      ti:=pro[i,1];
      tj:=pro[i,2]+a[pro[i,1],pro[i,2]];
      end;
    3:begin
      ti:=pro[i,1]+a[pro[i,1],pro[i,2]];
      tj:=pro[i,2];
      end;
    4:begin
      ti:=pro[i,1];
      tj:=pro[i,2]-a[pro[i,1],pro[i,2]];
      end;
    5:begin
      ti:=pro[i,1]-a[pro[i,1],pro[i,2]];
      tj:=pro[i,2]+a[pro[i,1],pro[i,2]];
      end;
    6:begin
      ti:=pro[i,1]+a[pro[i,1],pro[i,2]];
      tj:=pro[i,2]+a[pro[i,1],pro[i,2]];
      end;
    7:begin
      ti:=pro[i,1]+a[pro[i,1],pro[i,2]];
      tj:=pro[i,2]-a[pro[i,1],pro[i,2]];
      end;
    8:begin
      ti:=pro[i,1]-a[pro[i,1],pro[i,2]];
      tj:=pro[i,2]-a[pro[i,1],pro[i,2]];
      end;
      end;
    if (ti>0)and(ti<m+1)and(tj>0)and(tj<n+1) then
    begin
      step:=b[pro[i,1],pro[i,2],pro[i,3]]+1;
      if (ti=m)and(tj=n) then
      begin
        writeln(step);
        close(output);
        halt
      end;
      for j:=1 to 8 do
      if (j<>pro[i,3])and(b[ti,tj,j]>step) then
      begin
        b[ti,tj,j]:=step;
        inc(ntp);
        tp[ntp,1]:=ti;
        tp[ntp,2]:=tj;
        tp[ntp,3]:=j;
      end;
    end;
    end;
    npro:=ntp;
    pro:=tp
  until ntp=0;
  writeln('NEVAR');
  close(output);
end.

⌨️ 快捷键说明

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