Detalii evaluare #28776748

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 #28776748 Utilizator Brabete Marius Stelian (cyg_Marius)
Fișier labirint5.cpp Dimensiune 2.52 KB
Data încărcării 17 Martie 2021, 20:47 Scor / rezultat 0 puncte

Evaluare


Mesaj compilare

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

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

                                        ^
labirint5.cpp:57:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);

                        ^
labirint5.cpp:62:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%1d",&x);

                            ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde Caught fatal signal 11 5 0
2 0 secunde Caught fatal signal 11 5 0
3 0 secunde Caught fatal signal 11 5 0
4 0 secunde Caught fatal signal 11 5 0
5 0 secunde Caught fatal signal 11 5 0
6 0 secunde Caught fatal signal 11 5 0
7 0 secunde Caught fatal signal 11 5 0
8 0 secunde Caught fatal signal 11 5 0
9 0 secunde Caught fatal signal 11 5 0
10 0 secunde Caught fatal signal 11 5 0
11 0 secunde Caught fatal signal 11 5 0
12 0 secunde Caught fatal signal 11 5 0
13 0 secunde Caught fatal signal 11 5 0
14 0 secunde Caught fatal signal 11 5 0
15 0 secunde Caught fatal signal 11 5 0
16 0 secunde Caught fatal signal 11 5 0
17 0 secunde Caught fatal signal 11 5 0
18 0 secunde Caught fatal signal 11 5 0
19 0 secunde Caught fatal signal 11 5 0
20 0 secunde Caught fatal signal 11 5 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 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ă.