Detalii evaluare #57915232

Rezumat problemă

Adrian și-a luat un elicopter. Evident, un elicopter de jucărie. Adrian se joacă cu elicopterul său pe o suprafață reprezentată de o matrice de n×m, unde se află turnuri. Fiecare turn se află în celula reprezentată de indicii i și j, având înălțimea h[i][j]. În jocul său, Adrian dorește să piloteze elicopterul său. Inițial, elicopterul este ridicat în aer la o anumită înălțime, și poziționat într-o celulă aflată pe prima coloană. Pe parcursul jocului, elicopterul este menținut la înălțimea inițială. La fiecare pas, elicopterul se poate muta în una din celulele învecinate pe linie sau pe coloană, în stânga, dreapta, sus sau jos, doar dacă înălțimea turnului nu este mai mare decât înălțimea la care se află elicopterul. Jocul se termină când elicopterul ajunge într-o celulă aflată pe ultima coloană.

Să se determine cea mai mică valoare a înălțimii la care trebuie ridicat elicopterul, astfel încât acesta să poată ajunge pe o celulă aflată pe ultima coloană.

Concursul Interjudeţean de Matematică şi Informatică Sever Aurel Groze, 2024

Detalii

Problema Elicopter Operații I/O elicopter.in/elicopter.out
Limita timp 0.4 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #57915232 Utilizator Raileanu Alexandru (AlexandruR2008)
Fișier elicopter.cpp Dimensiune 1.70 KB
Data încărcării 30 Aprilie 2025, 16:36 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

elicopter.cpp: In function 'bool bfs(int)':
elicopter.cpp:36:17: error: 'nx' was not declared in this scope
             if (nx >= 0 && nx < n && ny >= 0 && ny < m &&

                 ^
elicopter.cpp:36:38: error: 'ny' was not declared in this scope
             if (nx >= 0 && nx < n && ny >= 0 && ny < m &&

                                      ^
elicopter.cpp:39:32: error: no matching function for call to 'std::queue<std::pair<int, int> >::push(<brace-enclosed initializer list>)'
                 q.push({nx, ny});

                                ^
elicopter.cpp:39:32: note: candidates are:
In file included from /usr/include/c++/4.8/queue:64:0,
                 from elicopter.cpp:3:
/usr/include/c++/4.8/bits/stl_queue.h:212:7: note: void std::queue<_Tp, _Sequence>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>]
       push(const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_queue.h:212:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const std::pair<int, int>&}'
/usr/include/c++/4.8/bits/stl_queue.h:217:7: note: void std::queue<_Tp, _Sequence>::push(std::queue<_Tp, _Sequence>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::deque<std::pair<int, int>, std::allocator<std::pair<int, int> > >; std::queue<_Tp, _Sequence>::value_type = std::pair<int, int>]
       push(value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_queue.h:217:7: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::queue<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}'
elicopter.cpp:42:5: warning: no return statement in function returning non-void [-Wreturn-type]
     }

     ^
elicopter.cpp: At global scope:
elicopter.cpp:44:5: error: expected unqualified-id before 'return'
     return false;

     ^
elicopter.cpp:45:1: error: expected declaration before '}' token
 }

 ^

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