关于上次抓猫题目100分解法(pascal)

来源:互联网 发布:淘宝客微信群封号 编辑:程序博客网 时间:2024/05/20 13:12
var
        n,m,i,j,ans:longint;
        a:array[0..1000,0..1000] of char;
        b:array[0..1000,0..1000] of boolean;
procedure dg(x,y:longint);
var
        ch:char;
begin
        ch:=a[x,y];
        a[x,y]:=' ';
        if b[x,y] then
        begin
                inc(ans);
                exit;
        end;
        b[x,y]:=true;
        case ch of
               'E':dg(x,y+1);
               'W':dg(x,y-1);
               'S':dg(x+1,y);
                'N':dg(x-1,y);
        end;
        b[x,y]:=false;
end;
begin
        readln(n,m);
        ans:=0;
        for i:=1 to n do
        begin
                for j:=1 to m do
                        read(a[i,j]);
                readln;
        end;
        for i:=1 to n do
        begin
                for j:=1 to m do
                        if (a[i,j]='E')or(a[i,j]='W')or(a[i,j]='S')or(a[i,j]='N') then dg(i,j);
        end;
        writeln(ans);
end.


1 0
原创粉丝点击