#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 | #48813557 | Utilizator | |
Fișier | rover.cpp | Dimensiune | 1.69 KB |
Data încărcării | 06 Februarie 2024, 13:15 | Scor / rezultat | Eroare de compilare |
rover.cpp: In function 'int verif(int)': rover.cpp:6:9: error: 'i' was not declared in this scope for(i=1;i<=n;i++) ^ rover.cpp:6:16: error: 'n' was not declared in this scope for(i=1;i<=n;i++) ^ rover.cpp:7:13: error: 'j' was not declared in this scope for(j=1;j<=n;j++) ^ rover.cpp:8:13: error: 'b' was not declared in this scope b[i][j]=0; ^ rover.cpp:9:5: error: 'b' was not declared in this scope b[1][1]=1; ^ rover.cpp:10:5: error: 'q' was not declared in this scope q.push({1,1}); ^ rover.cpp:13:9: error: 'u' was not declared in this scope u=q.front(); ^ rover.cpp:15:13: error: 'k' was not declared in this scope for(k=0;k<4;k++) ^ rover.cpp:17:13: error: 'v' was not declared in this scope v.x=u.x+dx[k]; ^ rover.cpp:17:21: error: 'dx' was not declared in this scope v.x=u.x+dx[k]; ^ rover.cpp:18:21: error: 'dy' was not declared in this scope v.y=u.y+dy[k]; ^ rover.cpp:19:26: error: 'interior' was not declared in this scope if(interior(v)) ^ rover.cpp:20:23: error: 'a' was not declared in this scope if(x<=a[v.x][v.y] && b[v.x][v.y]==0) ^ rover.cpp: In function 'int main()': rover.cpp:35:8: error: expected initializer before '>>' token fin>>cer>>n; ^ rover.cpp:36:8: error: 'cer' was not declared in this scope if(cer==1) ^ rover.cpp:37:9: error: 'fin' was not declared in this scope fin>>G; ^ rover.cpp:37:14: error: 'G' was not declared in this scope fin>>G; ^ rover.cpp:38:16: error: 'n' was not declared in this scope for(i=1;i<=n;i++) ^ rover.cpp:39:13: error: 'j' was not declared in this scope for(j=1;j<=n;j++) ^ rover.cpp:40:13: error: 'fin' was not declared in this scope fin>>a[i][j]; ^ rover.cpp:40:18: error: 'a' was not declared in this scope fin>>a[i][j]; ^ rover.cpp:41:8: error: 'cer' was not declared in this scope if(cer==1) ^ rover.cpp:43:20: error: 'n' was not declared in this scope for(i=1;i<=n;i++) ^ rover.cpp:44:17: error: 'j' was not declared in this scope for(j=1;j<=n;j++) ^ rover.cpp:45:17: error: 'b' was not declared in this scope b[i][j]=n*n+1; ^ rover.cpp:46:9: error: 'b' was not declared in this scope b[1][1]=0; ^ rover.cpp:48:5: error: 'queue' was not declared in this scope queue<poz>q; ^ rover.cpp:48:11: error: 'poz' was not declared in this scope queue<poz>q; ^ rover.cpp:48:15: error: 'q' was not declared in this scope queue<poz>q; ^ rover.cpp:49:9: error: expected ';' before 'u' poz u,v; ^ rover.cpp:53:9: error: 'u' was not declared in this scope u=q.front(); ^ rover.cpp:55:13: error: 'k' was not declared in this scope for(k=0;k<4;k++) ^ rover.cpp:57:13: error: 'v' was not declared in this scope v.x=u.x+dx[k]; ^ rover.cpp:57:21: error: 'dx' was not declared in this scope v.x=u.x+dx[k]; ^ rover.cpp:58:21: error: 'dy' was not declared in this scope v.y=u.y+dy[k]; ^ rover.cpp:59:26: error: 'interior' was not declared in this scope if(interior(v)) ^ rover.cpp:61:17: error: 'nr' was not declared in this scope nr=b[u.x][u.y]; ^ rover.cpp:61:20: error: 'b' was not declared in this scope nr=b[u.x][u.y]; ^ rover.cpp:62:20: error: 'a' was not declared in this scope if(a[v.x][v.y]<G) ^ rover.cpp:62:32: error: 'G' was not declared in this scope if(a[v.x][v.y]<G) ^ rover.cpp:72:5: error: 'fout' was not declared in this scope fout<<b[n][n]; ^ rover.cpp:72:11: error: 'b' was not declared in this scope fout<<b[n][n]; ^ rover.cpp:72:13: error: 'n' was not declared in this scope fout<<b[n][n]; ^ rover.cpp:74:5: error: 'st' was not declared in this scope st=1; ^ rover.cpp:75:5: error: 'dr' was not declared in this scope dr=a[1][1]; ^ rover.cpp:75:8: error: 'a' was not declared in this scope dr=a[1][1]; ^ rover.cpp:76:5: error: 'gm' was not declared in this scope gm=0; ^ rover.cpp:79:9: error: 'mij' was not declared in this scope mij=(st+dr)/2; ^ rover.cpp: In function 'int verif(int)': rover.cpp:31:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
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ă.