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

📄 p1121.pas

📁 www.vijos.cn上一些习题的参考源码
💻 PAS
字号:
program p1121;
const
    MAXN=15;
    MAXM=15;
type
    ORD=record
        x,y:integer;
        end;
var
    s,ma:ORD;
    n,m:integer;
    i:integer;
    p:longint;
    map:array[-MAXN..MAXN,-MAXM..MAXM] of boolean;
    
function move(x,y:integer; op:integer):ORD;
var
    t:ORD;
begin
    case op of
    1:begin inc(x); end;
    2:begin inc(y); end;
    end;
    t.x:=x; t.y:=y;
    exit(t);
end;

procedure search(x,y:integer);
var
    op:integer;
    t:ORD;
begin
    if (x=n) and (y=m) then begin
        inc(p);
        exit;
    end;
    for op:=1 to 2 do begin
        t:=move(x,y,op);
        if map[t.x,t.y] and ((t.x in [0..n]) and (t.y in [0..m])) then
            search(t.x,t.y);
    end;
end;


begin
    readln(n,m,ma.x,ma.y);
    fillchar(map,sizeof(map),true);

    map[ma.x,ma.y]:=false;
    map[ma.x-2,ma.y+1]:=false;
    map[ma.x-1,ma.y+2]:=false;
    map[ma.x+1,ma.y+2]:=false;
    map[ma.x+2,ma.y+1]:=false;
    map[ma.x-2,ma.y-1]:=false;
    map[ma.x-1,ma.y-2]:=false;
    map[ma.x+1,ma.y-2]:=false;
    map[ma.x+2,ma.y-1]:=false;

    s.x:=0; s.y:=0;
    p:=0;
    search(0,0);
    writeln(p);
end.

⌨️ 快捷键说明

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