• 抓猫


    题目大意

    在某座垃圾堆成山的城市里,有很多流浪猫。恰好,他们把你一个Oler认成了动物学家,了解这些小猫咪的活动轨迹,问你最少要多少捕兽夹才能将猫抓住。
    注:这是一个n*m的矩阵,表示这座城市,猫在这座城里浪来浪去,用"W"表示往西,"E”表示往东,"N"表示往北,"S"表示往南。

    解题思路

    好吧,看到这道题,我就高兴了,暴力模拟啊。
    其实这道题想法很简单,但实现起来却十分复杂,一不小心就会打错。
    用dg来找猫下一步会往哪走,再用bz判重。如果无法走下去就找一个没有打过标记的走,inc(ans);

    r
            n,m,i,j,k,s:longint;
            a:array[1..1000,1..1000]of char;
            b:array[1..1000,1..1000]of longint;
            bz:array[1..1000,1..1000]of boolean;
    procedure dg(i,j,k:longint);
    begin
            b[i,j]:=k;
            bz[i,j]:=true;
            case (a[i,j]) of
            'S':if (bz[i+1,j]=false) then dg(i+1,j,k) else
                    if (k=b[i+1,j]) then inc(s) else exit;
            'N':if (bz[i-1,j]=false) then dg(i-1,j,k) else
                    if (k=b[i-1,j]) then inc(s) else exit;
            'E':if (bz[i,j+1]=false) then dg(i,j+1,k) else
                    if (k=b[i,j+1]) then inc(s) else exit;
            'W':if (bz[i,j-1]=false) then dg(i,j-1,k) else
                    if (k=b[i,j-1]) then inc(s) else exit;
            end;
    end;
    begin
            fillchar(bz,sizeof(bz),false);
            readln(n,m);
            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
                    begin
                            inc(k);
                            dg(i,j,k);
                    end;
            end;
            writeln(s);
    end.

    如果自己说什麽都做不到而什麽都不去做的话,那就更是什麽都做不到,什麽都不会改变,什麽都不会结束.
  • 相关阅读:
    并查集分析+总结
    poj 3083 Children of the Candy Corn(bfs+dfs 数组模拟方向)
    poj 1094 Sorting It All Out (拓扑排序)
    poj 2632 Crashing Robots(模拟)
    poj 1068 Parencodings (模拟)
    poj 1273 Drainage Ditches ( 最大流Edmonds_karp算法)
    poj 3278 Catch That Cow (BFS)
    Codeforces Round #109 (Div. 2) 总结
    poj 2299 UltraQuickSort(归并排序)
    poj 1035 Spell checker(字符串)
  • 原文地址:https://www.cnblogs.com/Sport-river/p/10390140.html
Copyright © 2020-2023  润新知