F012B. Wall-E P45681


Statement
 

pdf   zip

html

[r] Feu un programa que simuli el recorregut d’en Wall-E (un robot recol·lector de deixalles) dins d’un camp tancat. En Wall-E es mou cap al nord, sud, est o oest en funció de les ordres rebudes. Si el robot passa per una casella amb deixalles, les recull i se les fica a la panxa. (Si torna a passar per la mateixa casella, ja no hi recull cap deixalla.) Per a cada ordre rebuda, en Wall-E es mou tantes caselles com pugui en aquella direcció fins a topar amb un mur.

Entrada

L’entrada conté una seqüència de casos. Cada cas comença amb f i c, dos naturals que indiquen el nombre de files i el nombre de columnes del camp. Suposeu f ≥ 3 i c ≥ 3. Segueixen f files amb c caràcters cadascuna. Una ‘X’ indica un mur. Un punt indica una casella buida. Un dígit indica un nombre de deixalles. La primera fila, l’última fila, la primera columna, i l’última columna només contenen murs. Segueix la posició inicial del robot (fila i columna, ambdues començant a comptar en 0). La posició inicial sempre té un punt. Segueix una paraula no buida amb les ordres per al robot: ‘N’ per anar al nord, ‘S’ per anar al sud, ‘E’ per anar a l’est, i ‘O’ per anar a l’oest.

Sortida

Per a cada cas de l’entrada, cal escriure el número de cas seguint el format de l’exemple, seguit del nombre de deixalles recollides pel robot abans d’exhaurir les seves ordres.

Public test cases
  • Input

    5 6
    XXXXXX
    X.X21X
    X37X5X
    X9138X
    XXXXXX
    1 1 SESENO
    
    4 7
    XXXXXXX
    X1.035X
    X...X2X
    XXXXXXX
    2 3 NOSNSE
    
    7 7
    XXXXXXX
    X11111X
    X15X31X
    X1X.X1X
    X17X41X
    X11111X
    XXXXXXX
    3 3 NSEO
    

    Output

    Cas 1: 32
    Cas 2: 1
    Cas 3: 0
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++