Ernest a găsit în garajul familiei sale un joc Pacman. Labirintul din joc poate fi reprezentat ca o matrice cu linii și coloane. Pe fiecare linie și fiecare coloană există exact un obstacol. Vom nota cu poziția de pe linia și coloana .
Matricea este circulară: dacă Pacman se deplasează la dreapta din poziția , ajunge în , iar dacă se deplasează la stanga din poziția , ajunge în , pentru orice linie din matrice. Similar, dacă se deplasează în sus din , ajunge în , respectiv dacă se deplasează în jos din , ajunge în , pentru orice coloană . Inițial Pacman se află în și vrea sa ajungă în unde se găse ște un punct galben care îl va ajuta să învingă fantomele colorate.
Regulile acestei versiuni de joc permit doar tipuri de mișcări pentru Pacman, relative la poziția curentă:
U
- se deplasează în sus până se lovește de un obstacol sau a ajuns în .D
- se deplasează în jos până se lovește de un obstacol sau a ajuns în .L
- se deplasează la stânga până se lovește de un obstacol sau a ajuns în .R
- se deplasează la dreapta până se lovește de un obstacol sau a ajuns în .
De remarcat faptul că, odată ajuns în , Pacman nu va mai putea părăsi această poziție, indiferent de mișcările ulterioare pe care le-ar face.
Cerință
Problema este formată din doua cerințe:
Cerința 1. Se citește un șir de mișcări format din literele U, D, L, R, ce descriu în ordine mișcările lui Pacman. Deplasându-se conform acestui șir, va ajunge Pacman din la punctul galben de coordonate ?
Cerința 2. Care este numărul minim de mișcări U, D, L, R prin care Pacman poate ajunge din la punctul galben de coordonate ?
Date de intrare
Fiecare fișier de intrare va conține teste.
Pe prima linie a fișierului se află numărul cerinței și numărul de teste . Pe prima linie a fiecărui test se află , dimensiunea matricei pentru testul , iar pe a doua linie sunt numere , , ..., . Pentru fiecare , obstacolul are coordonatele . Dacă , pe a treia linie a fiecărui test se află mișcările scrise ca un șir de caractere, fără spații, din mulțimea .
Date de ieșire
Pe fiecare dintre cele linii ale fișierului de ieșire se va afla răspunsul pentru testul corespunzător. În cazul în care , se va afișa "Won
", dacă răspunsul la cerin ță este afirmativ, respectiv "Lost
", dacă răspunsul este negativ. Dacă , se va afișa numărul minim de mișcări cerut, sau dacă nu se poate ajunge din în .
Restricții și precizări
- ;
- , pentru orice test ;
- Suma tuturor valorilor , pentru , este ;
- și pentru orice .
- Pentru , suma lungimilor șirurilor de mișcări din toate cele teste nu depășește .
- Se garantează că și nu sunt blocate de un obstacol ( și ).
# | Punctaj | Restricții |
---|---|---|
1 | 18 | , , suma lungimilor șirurilor de mișcări din toate cele teste nu depășește |
2 | 19 | |
3 | 33 | , |
4 | 30 |
Exemplul 1
arcade.in
1 3
5
2 1 3 5 4
LDLDL
4
3 1 4 2
RDRUL
6
3 2 1 6 5 4
RURU
arcade.out
Won
Lost
Won
Explicație
Exemplul 2
arcade.in
2 3
5
2 1 3 5 4
6
6 5 4 3 2 1
6
3 2 1 6 5 4
arcade.out
4
-1
4