#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 | #8185690 | Utilizator | |
Fișier | rover.cpp | Dimensiune | 3.42 KB |
Data încărcării | 05 Februarie 2018, 13:42 | Scor / rezultat | 70 puncte |
rover.cpp: In function 'void readValues(int*, int*, int*, int (*)[500])': rover.cpp:70:41: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf( entryValue, "%d", &( * v ) ); ^ rover.cpp:71:41: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf( entryValue, "%d", &( * n ) ); ^ rover.cpp:73:44: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(entryValue, "%d", &( * g ) ); ^ rover.cpp:76:49: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf( entryValue, "%d", &A[i][j] ); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | ||
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0.004 secunde | Raspuns gresit. | 5 | 0 | ||
3 | 0.012 secunde | Raspuns gresit. | 5 | 0 | ||
4 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
5 | 0.056 secunde | Raspuns gresit. | 5 | 0 | ||
6 | 0.088 secunde | Raspuns gresit. | 5 | 0 | ||
7 | 0.096 secunde | Raspuns gresit. | 5 | 0 | ||
8 | 0.1 secunde | OK. | 5 | 5 | ||
9 | 0 secunde | OK. | 10 | 10 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0.008 secunde | OK. | 5 | 5 | ||
12 | 0.024 secunde | OK. | 5 | 5 | ||
13 | 0.036 secunde | OK. | 5 | 5 | ||
14 | 0.048 secunde | OK. | 5 | 5 | ||
15 | 0.056 secunde | OK. | 5 | 5 | ||
16 | 0.08 secunde | OK. | 5 | 5 | ||
17 | 0.084 secunde | OK. | 5 | 5 | ||
Punctaj total | 70 |
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ă.