Detalii evaluare #35503089

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 #35503089 Utilizator Barbu Antonia (barbuantonia86)
Fișier labirint5.cpp Dimensiune 1.53 KB
Data încărcării 11 Martie 2022, 16:46 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

labirint5.cpp: In function 'void bordare()':
labirint5.cpp:7:9: error: 'i' was not declared in this scope
     for(i=0;i<=n+1;i++)a[i][0]=-1,a[i][m+1]=-1,b[i][0]=-1,b[i][m+1]=-1;

         ^
labirint5.cpp:7:16: error: 'n' was not declared in this scope
     for(i=0;i<=n+1;i++)a[i][0]=-1,a[i][m+1]=-1,b[i][0]=-1,b[i][m+1]=-1;

                ^
labirint5.cpp:7:24: error: 'a' was not declared in this scope
     for(i=0;i<=n+1;i++)a[i][0]=-1,a[i][m+1]=-1,b[i][0]=-1,b[i][m+1]=-1;

                        ^
labirint5.cpp:7:40: error: 'm' was not declared in this scope
     for(i=0;i<=n+1;i++)a[i][0]=-1,a[i][m+1]=-1,b[i][0]=-1,b[i][m+1]=-1;

                                        ^
labirint5.cpp:7:48: error: 'b' was not declared in this scope
     for(i=0;i<=n+1;i++)a[i][0]=-1,a[i][m+1]=-1,b[i][0]=-1,b[i][m+1]=-1;

                                                ^
labirint5.cpp:8:9: error: 'i' was not declared in this scope
     for(i=0;i<=m+1;i++)a[0][j]=-1,a[n+1][0]=-1,b[0][j]=-1,b[n+1][0]=-1;

         ^
labirint5.cpp:8:16: error: 'm' was not declared in this scope
     for(i=0;i<=m+1;i++)a[0][j]=-1,a[n+1][0]=-1,b[0][j]=-1,b[n+1][0]=-1;

                ^
labirint5.cpp:8:24: error: 'a' was not declared in this scope
     for(i=0;i<=m+1;i++)a[0][j]=-1,a[n+1][0]=-1,b[0][j]=-1,b[n+1][0]=-1;

                        ^
labirint5.cpp:8:29: error: 'j' was not declared in this scope
     for(i=0;i<=m+1;i++)a[0][j]=-1,a[n+1][0]=-1,b[0][j]=-1,b[n+1][0]=-1;

                             ^
labirint5.cpp:8:37: error: 'n' was not declared in this scope
     for(i=0;i<=m+1;i++)a[0][j]=-1,a[n+1][0]=-1,b[0][j]=-1,b[n+1][0]=-1;

                                     ^
labirint5.cpp:8:48: error: 'b' was not declared in this scope
     for(i=0;i<=m+1;i++)a[0][j]=-1,a[n+1][0]=-1,b[0][j]=-1,b[n+1][0]=-1;

                                                ^
labirint5.cpp: In function 'void lee1(int, int, int, int)':
labirint5.cpp:13:5: error: 'q' was not declared in this scope
     q.push({xi,yi});

     ^
labirint5.cpp:14:5: error: 'a' was not declared in this scope
     a[xi][yi]=1;

     ^
labirint5.cpp:19:13: error: 'i' was not declared in this scope
         for(i=0;i<4;i++)

             ^
labirint5.cpp:21:18: error: 'dx' was not declared in this scope
             xx=x+dx[i];

                  ^
labirint5.cpp:22:18: error: 'dy' was not declared in this scope
             yy=y+dy[i];

                  ^
labirint5.cpp: In function 'void lee2(int, int, int, int)':
labirint5.cpp:35:5: error: 'q' was not declared in this scope
     q.push({xi,yi});

     ^
labirint5.cpp:36:5: error: 'b' was not declared in this scope
     b[xi][yi]=1;

     ^
labirint5.cpp:41:13: error: 'i' was not declared in this scope
         for(i=0;i<4;i++)

             ^
labirint5.cpp:43:18: error: 'dx' was not declared in this scope
             xx=x+dx[i];

                  ^
labirint5.cpp:44:18: error: 'dy' was not declared in this scope
             yy=y+dy[i];

                  ^
labirint5.cpp: In function 'int main()':
labirint5.cpp:56:8: error: 'n' was not declared in this scope
     f>>n>>m;

        ^
labirint5.cpp:56:11: error: 'm' was not declared in this scope
     f>>n>>m;

           ^
labirint5.cpp:57:5: error: 'xi' was not declared in this scope
     xi=1,yi=1,xf=n,yf=m;

     ^
labirint5.cpp:57:10: error: 'yi' was not declared in this scope
     xi=1,yi=1,xf=n,yf=m;

          ^
labirint5.cpp:57:15: error: 'xf' was not declared in this scope
     xi=1,yi=1,xf=n,yf=m;

               ^
labirint5.cpp:57:20: error: 'yf' was not declared in this scope
     xi=1,yi=1,xf=n,yf=m;

                    ^
labirint5.cpp:58:9: error: 'i' was not declared in this scope
     for(i=1;i<=n;i++)

         ^
labirint5.cpp:59:13: error: 'j' was not declared in this scope
         for(j=1;j<=m;j++)

             ^
labirint5.cpp:61:16: error: 'a' was not declared in this scope
             f>>a[i][j];

                ^
labirint5.cpp:62:38: error: 'b' was not declared in this scope
             if(a[i][j]==1)a[i][j]=-1,b[i][j]=-1;

                                      ^
labirint5.cpp:67:11: error: 'a' was not declared in this scope
     int k=a[n][m];

           ^
labirint5.cpp:68:9: error: 'i' was not declared in this scope
     for(i=1;i<=n;i++)

         ^
labirint5.cpp:69:13: error: 'j' was not declared in this scope
         for(j=1;j<=m;j++)

             ^
labirint5.cpp:72:9: error: expected primary-expression before '}' token
         }

         ^
labirint5.cpp:72:9: error: expected ';' before '}' token
labirint5.cpp:67:9: warning: unused variable 'k' [-Wunused-variable]
     int k=a[n][m];

         ^

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