Nu aveti permisiuni pentru a descarca fisierul grader_test7.in
Diferente pentru problema/walle intre reviziile #1 si #6
Diferente intre titluri:
problema/wall-e
Walle
Diferente intre continut:
Scrie aici despre problema/walle
== include(page="template/taskheader" task_id="walle") == Roboţelul WALL-E este captiv într-un labirint dreptunghiular de dimensiuni $*N x M*$. Analizând harta, WALL-E constată că are de-a face cu un labirint extrem de sofisticat. El reuşeşte să identifice următoarele tipuri de celule: * $'W'$ - celula unde, la început, se află WALL-E, * $'E'$ - celula 'EXIT' care poate fi accesată de WALL-E şi care îl poate teleporta pe acesta instantaneu în afara labirintului, într-un loc sigur, * $'.'$ - celule libere, care pot fi accesate de WALL-E, * $'#'$ - celule de tip zid, care *NU* pot fi accesate de WALL-E, * $'+'$ - celule de tip uşă, care pot fi accesate de WALL-E, dar continuarea deplasării la o celulă vecină se poate face doar după o aşteptare de exact $T$ seconde, * $'P'$ - celule de tip portal, care îl teleportează pe WALL-E instantaneu, la întâmplare, într-una dintre celelalte celule de tip portal. Dacă WALL-E accesează o celulă $(x1, y1)$ de tip portal, atunci el va fi instantaneu teleportat la o altă celulă $(x2, y2)$ de tip portal, iar mai departe el se va deplasa numai într-o celulă vecină $(x2, y2)$ (nu poate sta pe loc) WALL-E se poate deplasa într-o secundă în oricare dintre cele patru celule vecine: sus, dreapta, jos sa stânga, pe care le poate accesa. De asemenea, roboţelul *NU* se poate deplasa în afara labirintului decât prin intermediul celulei 'EXIT'. h2. Cerinţă Comportamentul haotic al portalurilor îl îngrijorează pe WALL-E, astfel că îşî propune să afle care este numărul minim de secunde în care, _cu certitudine_, el va putea părăsi labirintul. Dacă nu se poate determina cu certitudine acest lucru, sau dacă WALL-E nu poate părăsi labirintul, răspunsul va fi *-1*. h2. Date de intrare În fişierul text $walle.in$ pe prima linie se află numerele $N, M$ şi $T$, separate prin câte un spaţiu. Pe fiecare dintre următoarele $N$ linii se află câte un şir cu câte $M$ caractere. h2. Date de ieşire În fişierul text $walle.out$ se va scrie, pe prima linie, un număr natural reprezentând răspunsul găsit sau -1. h2. Restricţii * $1 ≤ N, M ≤ 500$ * $0 ≤ T ≤ 1.000$ * Există o singură celulă marcată cu 'W' * Există o singură celulă marcată cu 'E' * Numărul celulelor de tip portal este mai mare sau egal cu 2 * Se garantează că fiecare celulă de tip portal are cel puţin vecină care poate fi accesată * Pentru teste în valoare de 19 puncte labirintul va conţine cel mult 6 portaluri şi $T = 0$ * Pentru alte 19 puncte $1 ≤ N, M ≤ 50$, labirintul va conţine cel mult 6 portaluri şi $T = 0$ * Pentru alte 27 puncte $1 ≤ N, M ≤ 50$, labirintul va conţine cel mult 6 portaluri * Pentru alte 10 puncte $T = 0$ h2. Exemplu table(example). |_. walle.in |_. walle.out | | 5 12 3 .....#P..E.. ..P..###.... .....+...P.. ..W...##.... ............ | 5 | | 5 12 3 ......P#.E.. ..P..###.... .....+...P.. ..W...##.... ............ | 12 | | 1 6 3 EPPPWP | -1 | h3. Explicaţii În primul exemplu, WALL-E se va deplasa în 2 secunde la portalul de la poziţia $(2, 3)$, care îl va teleporta în cel mai defavorabil caz la poziţia $(1, 7)$, de unde în 3 secunde va ajunge la EXIT. Total 5 secunde. În al doilea exemplu, WALL-E va merge către EXIT, evitând portalurile şi uşa, pe drumul cel mai scurt. În al treilea exemplu, să presupunem că WALL-E se va deplasa mai întâi la portalul $(1, 4)$. Este incert ca WALL-E să poată ajunge la portalul $(1, 2)$, deoarece de la portalul $(1, 4)$, datorită comportamentului haotic al portalurilor, se poate ajunge la oricare din celelalte trei portaluri, nu doar la portalul $(1, 2)$, iar apoi teleportarea următoare îl va putea reîntoarce pe WALL-E, din acelaşi motiv, la portalul $(1, 4)$. Analog se va întâmpla dacă WALL-E se va deplasa mai întâi la portalul $(1, 6)$. == include(page="template/taskfooter" task_id="walle") ==
Diferente intre securitate:
public
task: walle
