#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.
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 | #58665821 | Utilizator | |
| Fișier | rover.cpp | Dimensiune | 2.52 KB |
| Data încărcării | 12 Iulie 2025, 17:58 | Scor/rezultat | Eroare de compilare |
rover.cpp: In function 'int zero_one_bfs()': rover.cpp:18:14: error: expected unqualified-id before '[' token auto [x,y] = dq.front(); ^ rover.cpp:22:22: error: 'x' was not declared in this scope int nx = x + dx[d]; ^ rover.cpp:23:22: error: 'y' was not declared in this scope int ny = y + dy[d]; ^ rover.cpp: In function 'bool can_reach(int)': rover.cpp:49:14: error: expected unqualified-id before '[' token auto [x,y] = q.front(); ^ rover.cpp:51:12: error: 'x' was not declared in this scope if(x == N-1 && y == N-1) return true; ^ rover.cpp:51:24: error: 'y' was not declared in this scope if(x == N-1 && y == N-1) return true; ^ rover.cpp:54:22: error: 'x' was not declared in this scope int nx = x + dx[d]; ^ rover.cpp:55:22: error: 'y' was not declared in this scope int ny = y + dy[d]; ^ rover.cpp: In function 'int main()': rover.cpp:70:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("rover.in", "r", stdin); ^ rover.cpp:71:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("rover.out", "w", stdout); ^
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ă.