Detalii evaluare #33832491

Rezumat problemă

Un labirint este descris ca fiind o matrice binară cu N linii și M coloane, cu semnificația că 0 reprezintă o poziție liberă, iar 1 reprezintă o poziție în care se află un zid. Un drum în labirint este un traseu în matrice care începe cu poziția (1, 1) și ajunge în poziția (N, M) prin deplasare doar pe poziții care au valoarea 0 și sunt vecine cu poziția curentă, pe una din cele patru direcții: sus, jos, stânga, dreapta. Lungimea unui drum este egală cu numărul de poziții vizitate. Notăm cu d0 lungimea drumului minim de la poziția (1, 1) la poziția (N,M). Fie d(i, j) lungimea drumului minim de la poziția (1, 1) la poziția (N, M), dacă poziției (i, j) i se atribuie valoarea 0. Observăm că dacă poziția (i, j) conține inițial un 0, atunci d0 = d(i, j). Pentru fiecare poziție (i, j) să se verifice dacă d(i, j) < d0.

OJI 2021, clasa a X-a

Detalii

Problema Labirint5 Operații I/O labirint.in/labirint.out
Limita timp 0.2 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #33832491 Utilizator Crismariu Codrin (crismariu)
Fișier labirint5.cpp Dimensiune 1.93 KB
Data încărcării 10 Ianuarie 2022, 20:28 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

labirint5.cpp: In function 'int main()':
labirint5.cpp:11:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("labirint.in", "r", stdin); \

                                       ^
labirint5.cpp:65:5: note: in expansion of macro 'FILES'
     FILES

     ^
labirint5.cpp:12:41: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("labirint.out", "w", stdout);

                                         ^
labirint5.cpp:65:5: note: in expansion of macro 'FILES'
     FILES

     ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 5 5
2 0 secunde OK. 5 5
3 0 secunde OK. 5 5
4 0 secunde OK. 5 5
5 0 secunde OK. 5 5
6 0 secunde OK. 5 5
7 0 secunde OK. 5 5
8 0 secunde OK. 5 5
9 0 secunde OK. 5 5
10 0.004 secunde OK. 5 5
11 0.008 secunde OK. 5 5
12 0.016 secunde OK. 5 5
13 0.02 secunde OK. 5 5
14 0.028 secunde OK. 5 5
15 0.044 secunde OK. 5 5
16 0.064 secunde OK. 5 5
17 0.084 secunde OK. 5 5
18 0.112 secunde OK. 5 5
19 0.14 secunde OK. 5 5
20 0.172 secunde OK. 5 5
Punctaj total 100

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 Labirint5 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ă.