Pac-man P87462


Statement
 

pdf   zip

Donat un tauler rectangular que conté en Pac-man, digueu si pot arribar a menjar-se algun bolet energètic. Per poder arribar-hi, en Pac-man només pot fer moviments horitzontals i verticals, sense travessar cap mur. En Pac-man no pot estar mai massa a prop d’un fantasma: sempre hi ha d’haver una casella de marge, ja sigui horitzontalment, verticalment, o en diagonal. Fixeu-vos en els exemples d’entrada i sortida.

Entrada

L’entrada consisteix en diversos casos. Cada cas comença amb el nombre de files ff i el nombre de columnes cc del tauler. Segueixen ff files amb cc caràcters cadascuna. Una ‘P’ indica la posició inicial d’en Pac-man. Una ‘F’ indica la posició d’un fantasma (que no es mou). Una ‘B’ indica la posició d’un bolet. Una ‘X’ indica un mur. Un punt indica una posició buida. Suposeu 3f1003 \le f \le 100, 3c1003 \le c \le 100, que les files i columnes de la vora del tauler només contenen murs, i que cada tauler té exactament una ‘P’.

Sortida

Per a cada cas, digueu si en Pac-man es pot menjar algun bolet o no.

Public test cases
  • Input

    6 10
    XXXXXXXXXX
    X........X
    X....XXX.X
    XP.F...X.X
    X....F.XBX
    XXXXXXXXXX
    7 12
    XXXXXXXXXXXX
    X.......BF.X
    X.........XX
    X.F..P...X.X
    X.......X..X
    X.B..F.X.B.X
    XXXXXXXXXXXX
    3 5
    XXXXX
    XFPBX
    XXXXX
    6 8
    XXXXXXXX
    X.....BX
    X.P.F..X
    X...F..X
    X.....BX
    XXXXXXXX
    

    Output

    si
    no
    no
    no
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++