Detalii evaluare #35529860

Rezumat problemă

#3056 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 secunde,
  • 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ă cu (x2,y2) (nu poate sta pe loc)

Comportamentul haotic al portalurilor îl îngrijorează pe WALL-E, astfel că își 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.

Detalii

Problema walle Operații I/O walle.in/walle.out
Limita timp 0.4 secunde Limita memorie Total: 128 MB / Stivă 8 MB
Id soluție #35529860 Utilizator Crismariu Codrin (crismariu)
Fișier walle.cpp Dimensiune 2.21 KB
Data încărcării 12 Martie 2022, 19:02 Scor / rezultat 0 puncte

Evaluare


Mesaj compilare

walle.cpp: In function 'int main()':
walle.cpp:64:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int i = 0; i < v.size(); i++)

                                       ^
walle.cpp:3:46: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
 #define FILES freopen("walle.in", "r", stdin); freopen("walle.out", "w", stdout);

                                              ^
walle.cpp:18:13: note: in expansion of macro 'FILES'
     FASTIO; FILES;

             ^
walle.cpp:3:81: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
 #define FILES freopen("walle.in", "r", stdin); freopen("walle.out", "w", stdout);

                                                                                 ^
walle.cpp:18:13: note: in expansion of macro 'FILES'
     FASTIO; FILES;

             ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde Raspuns gresit. 5 0
1 0 secunde Raspuns gresit. 1 0
2 0.004 secunde Raspuns gresit. 6 0
3 0 secunde Raspuns gresit. 7 0
4 0 secunde Raspuns gresit. 8 0
5 0 secunde Raspuns gresit. 1 0
6 0 secunde Raspuns gresit. 7 0
7 0 secunde Raspuns gresit. 6 0
8 0 secunde Raspuns gresit. 6 0
9 0 secunde Raspuns gresit. 7 0
10 0 secunde Raspuns gresit. 1 0
11 0 secunde Raspuns gresit. 3 0
12 0 secunde Raspuns gresit. 3 0
13 0 secunde Raspuns gresit. 3 0
14 0 secunde Raspuns gresit. 5 0
15 0 secunde Raspuns gresit. 5 0
16 0 secunde Raspuns gresit. 1 0
17 0 secunde Raspuns gresit. 4 0
18 0.004 secunde Raspuns gresit. 5 0
19 0 secunde Raspuns gresit. 2 0
20 0 secunde Raspuns gresit. 5 0
21 0 secunde Raspuns gresit. 3 0
22 0 secunde Raspuns gresit. 4 0
23 0 secunde Raspuns gresit. 1 0
24 0 secunde Raspuns gresit. 1 0
Punctaj total 0

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema walle face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.