Detalii evaluare #57099873

Rezumat problemă

Rover

#1998

NASA plănuiește o nouă misiune Rover pe Marte în anul 2020. Principalul obiectiv al acestei misiuni este de a determina, cu ajutorul unui nou Rover, dacă a existat în trecut viață pe Marte. Până când va fi lansată misiunea, Roverul este supus la tot felul de teste în laboratoarele NASA. Într-unul din teste, Roverul trebuie să parcurgă o suprafață de forma unui caroiaj cu N linii și N coloane. Acesta pornește din zona de coordonate (1,1) și trebuie să ajungă în zona de coordonate (N,N), la fiecare pas putându-se deplasa din zona în care se află într-una din zonele învecinate la nord, sud, est sau vest. Pentru fiecare zonă de coordonate (i,j) se cunoaște A[i,j], stabilitatea terenului din acea zonă. Știind că Roverul are o greutate G, o zonă cu stabilitatea terenului cel puțin egală cu G se consideră o zonă sigură pentru deplasarea Roverului, iar o zonă cu stabilitatea terenului mai mică decât G se consideră o zonă periculoasă pentru Rover.

1. Determinați numărul minim posibil de zone periculoase pe care le traversează Roverul pentru a ajunge din zona (1,1) în zona (N,N).
2. Determinați greutatea maximă pe care o poate avea un Rover care să ajungă din zona (1,1) în zona (N,N), fără a traversa nicio zonă periculoasă pentru el.

Detalii

Problema Rover Operații I/O rover.in/rover.out
Limita timp 0.5 secunde Limita memorie Total: 64 MB / Stivă 32 MB
Id soluție #57099873 Utilizator Doltu Vlad Cristian (ThienNaga1)
Fișier rover.cpp Dimensiune 2.81 KB
Data încărcării 16 Martie 2025, 15:08 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

rover.cpp:19:0: warning: "NMAX" redefined [enabled by default]
 #define NMAX 200

 ^
rover.cpp:2:0: note: this is the location of the previous definition
 #define NMAX 550

 ^
rover.cpp:22:17: error: conflicting declaration 'int a [200][200]'
 int a[NMAX][NMAX],ver[NMAX][NMAX],dist[NMAX][NMAX],lee1[NMAX][NMAX];

                 ^
rover.cpp:7:5: error: 'a' has a previous declaration as 'int a [550][550]'
 int a[NMAX][NMAX],lee1[NMAX][NMAX];

     ^
rover.cpp:22:67: error: conflicting declaration 'int lee1 [200][200]'
 int a[NMAX][NMAX],ver[NMAX][NMAX],dist[NMAX][NMAX],lee1[NMAX][NMAX];

                                                                   ^
rover.cpp:7:19: error: 'lee1' has a previous declaration as 'int lee1 [550][550]'
 int a[NMAX][NMAX],lee1[NMAX][NMAX];

                   ^
rover.cpp:23:8: error: redefinition of 'int dx []'
 int dx[]={-1,1,0,0};

        ^
rover.cpp:8:5: error: 'int dx [4]' previously defined here
 int dx[]={-1,1,0,0};

     ^
rover.cpp:24:8: error: redefinition of 'int dy []'
 int dy[]={0,0,-1,1};

        ^
rover.cpp:9:5: error: 'int dy [4]' previously defined here
 int dy[]={0,0,-1,1};

     ^
rover.cpp:25:5: error: redefinition of 'int n'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

     ^
rover.cpp:10:5: error: 'int n' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

     ^
rover.cpp:25:7: error: redefinition of 'int m'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

       ^
rover.cpp:10:7: error: 'int m' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

       ^
rover.cpp:25:9: error: redefinition of 'int is'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

         ^
rover.cpp:10:9: error: 'int is' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

         ^
rover.cpp:25:12: error: redefinition of 'int js'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

            ^
rover.cpp:10:12: error: 'int js' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

            ^
rover.cpp:25:15: error: redefinition of 'int ifin'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

               ^
rover.cpp:10:15: error: 'int ifin' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

               ^
rover.cpp:25:20: error: redefinition of 'int jfin'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                    ^
rover.cpp:10:20: error: 'int jfin' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                    ^
rover.cpp:25:25: error: redefinition of 'int x'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                         ^
rover.cpp:10:25: error: 'int x' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                         ^
rover.cpp:25:27: error: redefinition of 'int y'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                           ^
rover.cpp:10:27: error: 'int y' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                           ^
rover.cpp:25:29: error: redefinition of 'int curr'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                             ^
rover.cpp:10:29: error: 'int curr' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                             ^
rover.cpp:25:34: error: redefinition of 'int inc'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                                  ^
rover.cpp:10:34: error: 'int inc' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                                  ^
rover.cpp:25:38: error: redefinition of 'int cerinta'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                                      ^
rover.cpp:10:38: error: 'int cerinta' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                                      ^
rover.cpp:25:46: error: redefinition of 'int cost'
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                                              ^
rover.cpp:10:46: error: 'int cost' previously declared here
 int n,m,is,js,ifin,jfin,x,y,curr,inc,cerinta,cost;

                                              ^
rover.cpp:26:8: error: redefinition of 'struct coada'
 struct coada {int lin, col;};

        ^
rover.cpp:11:8: error: previous definition of 'struct coada'
 struct coada {int lin, col;}q[NMAX*NMAX];

        ^
rover.cpp:27:13: error: conflicting declaration 'std::queue<coada> q'
 queue<coada>q;

             ^
rover.cpp:11:29: error: 'q' has a previous declaration as 'coada q [302500]'
 struct coada {int lin, col;}q[NMAX*NMAX];

                             ^
rover.cpp: In function 'bool inmat(int, int)':
rover.cpp:29:6: error: redefinition of 'bool inmat(int, int)'
 bool inmat (int i, int j)

      ^
rover.cpp:13:6: error: 'bool inmat(int, int)' previously defined here
 bool inmat (int i, int j)

      ^
rover.cpp: In function 'void lee()':
rover.cpp:39:7: error: request for member 'push' in 'q', which is of non-class type 'coada [302500]'
     q.push({is,js});

       ^
rover.cpp:42:14: error: request for member 'empty' in 'q', which is of non-class type 'coada [302500]'
     while (q.empty()==0)

              ^
rover.cpp:44:17: error: request for member 'front' in 'q', which is of non-class type 'coada [302500]'
         int i=q.front().lin;

                 ^
rover.cpp:45:17: error: request for member 'front' in 'q', which is of non-class type 'coada [302500]'
         int j=q.front().col;

                 ^
rover.cpp:46:11: error: request for member 'pop' in 'q', which is of non-class type 'coada [302500]'
         q.pop();

           ^
rover.cpp:57:19: error: request for member 'push' in 'q', which is of non-class type 'coada [302500]'
                 q.push({i9,j9});

                   ^
rover.cpp: In function 'int main()':
rover.cpp:65:5: error: reference to 'cin' is ambiguous
     cin>>cerinta;

     ^
rover.cpp:4:10: note: candidates are: std::ifstream cin
 ifstream cin ("rover.in");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:60:18: note:                 std::istream std::cin
   extern istream cin;  /// Linked to standard input
                  ^
rover.cpp:66:5: error: reference to 'cin' is ambiguous
     cin>>n>>m;

     ^
rover.cpp:4:10: note: candidates are: std::ifstream cin
 ifstream cin ("rover.in");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:60:18: note:                 std::istream std::cin
   extern istream cin;  /// Linked to standard input
                  ^
rover.cpp:69:13: error: reference to 'cin' is ambiguous
             cin>>a[i][j],lee1[i][j]=1e9;

             ^
rover.cpp:4:10: note: candidates are: std::ifstream cin
 ifstream cin ("rover.in");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:60:18: note:                 std::istream std::cin
   extern istream cin;  /// Linked to standard input
                  ^
rover.cpp:84:5: error: reference to 'cout' is ambiguous
     cout<<lee1[n][n];

     ^
rover.cpp:5:10: note: candidates are: std::ofstream cout
 ofstream cout ("rover.out");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:61:18: note:                 std::ostream std::cout
   extern ostream cout;  /// Linked to standard output
                  ^
rover.cpp: In function 'void lee()':
rover.cpp:88:6: error: redefinition of 'void lee()'
 void lee ()

      ^
rover.cpp:34:6: error: 'void lee()' previously defined here
 void lee ()

      ^
rover.cpp: In function 'int main()':
rover.cpp:117:5: error: redefinition of 'int main()'
 int main()

     ^
rover.cpp:63:5: error: 'int main()' previously defined here
 int main()

     ^
rover.cpp:119:5: error: reference to 'cin' is ambiguous
     cin>>cerinta;

     ^
rover.cpp:4:10: note: candidates are: std::ifstream cin
 ifstream cin ("rover.in");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:60:18: note:                 std::istream std::cin
   extern istream cin;  /// Linked to standard input
                  ^
rover.cpp:120:5: error: reference to 'cin' is ambiguous
     cin>>n>>m;

     ^
rover.cpp:4:10: note: candidates are: std::ifstream cin
 ifstream cin ("rover.in");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:60:18: note:                 std::istream std::cin
   extern istream cin;  /// Linked to standard input
                  ^
rover.cpp:123:13: error: reference to 'cin' is ambiguous
             cin>>a[i][j],lee1[i][j]=1e9;

             ^
rover.cpp:4:10: note: candidates are: std::ifstream cin
 ifstream cin ("rover.in");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:60:18: note:                 std::istream std::cin
   extern istream cin;  /// Linked to standard input
                  ^
rover.cpp:137:5: error: reference to 'cout' is ambiguous
     cout<<lee1[n][n];

     ^
rover.cpp:5:10: note: candidates are: std::ofstream cout
 ofstream cout ("rover.out");

          ^
In file included from rover.cpp:17:0:
/usr/include/c++/4.8/iostream:61:18: note:                 std::ostream std::cout
   extern ostream cout;  /// Linked to standard output
                  ^

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

Du-te sus!