#1998
Rover
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.
OJI 2017, Clasa a X-a
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 | #44567038 | Utilizator | |
Fișier | rover.cpp | Dimensiune | 1.78 KB |
Data încărcării | 09 Septembrie 2023, 12:28 | Scor / rezultat | Eroare de compilare |
rover.cpp: In function 'int main()': rover.cpp:45:21: error: no matching function for call to 'std::deque<State>::push_back(<brace-enclosed initializer list>)' dq.push_back({ 0,0}); ^ rover.cpp:45:21: note: candidates are: In file included from /usr/include/c++/4.8/deque:64:0, from rover.cpp:2: /usr/include/c++/4.8/bits/stl_deque.h:1390:7: note: void std::deque<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_back(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1390:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const State&}' /usr/include/c++/4.8/bits/stl_deque.h:1404:7: note: void std::deque<_Tp, _Alloc>::push_back(std::deque<_Tp, _Alloc>::value_type&&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_back(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1404:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<State>::value_type&& {aka State&&}' rover.cpp:65:30: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (i >= 0 && i < n && j >= 0 & j < n) { ^ rover.cpp:68:37: error: no matching function for call to 'std::deque<State>::push_front(<brace-enclosed initializer list>)' dq.push_front({ i,j,state.k }); ^ rover.cpp:68:37: note: candidates are: In file included from /usr/include/c++/4.8/deque:64:0, from rover.cpp:2: /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: void std::deque<_Tp, _Alloc>::push_front(const value_type&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const State&}' /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: void std::deque<_Tp, _Alloc>::push_front(std::deque<_Tp, _Alloc>::value_type&&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<State>::value_type&& {aka State&&}' rover.cpp:71:37: error: no matching function for call to 'std::deque<State>::push_front(<brace-enclosed initializer list>)' dq.push_front({ i,j,state.k }); ^ rover.cpp:71:37: note: candidates are: In file included from /usr/include/c++/4.8/deque:64:0, from rover.cpp:2: /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: void std::deque<_Tp, _Alloc>::push_front(const value_type&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const State&}' /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: void std::deque<_Tp, _Alloc>::push_front(std::deque<_Tp, _Alloc>::value_type&&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<State>::value_type&& {aka State&&}' rover.cpp:74:40: error: no matching function for call to 'std::deque<State>::push_back(<brace-enclosed initializer list>)' dq.push_back({ i,j,state.k + 1 }); ^ rover.cpp:74:40: note: candidates are: In file included from /usr/include/c++/4.8/deque:64:0, from rover.cpp:2: /usr/include/c++/4.8/bits/stl_deque.h:1390:7: note: void std::deque<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_back(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1390:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const State&}' /usr/include/c++/4.8/bits/stl_deque.h:1404:7: note: void std::deque<_Tp, _Alloc>::push_back(std::deque<_Tp, _Alloc>::value_type&&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_back(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1404:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<State>::value_type&& {aka State&&}' rover.cpp:79:48: error: no matching function for call to 'std::deque<State>::push_front(<brace-enclosed initializer list>)' dq.push_front({ i,j,state.k,state.minn }); ^ rover.cpp:79:48: note: candidates are: In file included from /usr/include/c++/4.8/deque:64:0, from rover.cpp:2: /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: void std::deque<_Tp, _Alloc>::push_front(const value_type&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const State&}' /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: void std::deque<_Tp, _Alloc>::push_front(std::deque<_Tp, _Alloc>::value_type&&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<State>::value_type&& {aka State&&}' rover.cpp:82:46: error: no matching function for call to 'std::deque<State>::push_front(<brace-enclosed initializer list>)' dq.push_front({ i,j,state.k ,a[i][j] }); ^ rover.cpp:82:46: note: candidates are: In file included from /usr/include/c++/4.8/deque:64:0, from rover.cpp:2: /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: void std::deque<_Tp, _Alloc>::push_front(const value_type&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1359:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const State&}' /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: void std::deque<_Tp, _Alloc>::push_front(std::deque<_Tp, _Alloc>::value_type&&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_front(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1372:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<State>::value_type&& {aka State&&}' rover.cpp:85:52: error: no matching function for call to 'std::deque<State>::push_back(<brace-enclosed initializer list>)' dq.push_back({ i,j,state.k + 1 ,state.minn }); ^ rover.cpp:85:52: note: candidates are: In file included from /usr/include/c++/4.8/deque:64:0, from rover.cpp:2: /usr/include/c++/4.8/bits/stl_deque.h:1390:7: note: void std::deque<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_back(const value_type& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1390:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type& {aka const State&}' /usr/include/c++/4.8/bits/stl_deque.h:1404:7: note: void std::deque<_Tp, _Alloc>::push_back(std::deque<_Tp, _Alloc>::value_type&&) [with _Tp = State; _Alloc = std::allocator<State>; std::deque<_Tp, _Alloc>::value_type = State] push_back(value_type&& __x) ^ /usr/include/c++/4.8/bits/stl_deque.h:1404:7: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::deque<State>::value_type&& {aka State&&}' rover.cpp:25:15: warning: unused variable 'nr' [-Wunused-variable] int i, j, n, nr, c,g; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Rover face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.