#2077
Poarta
Harta Galaxiei este reprezentată ca o matrice cu N
linii (numerotate de la 1
la N
) şi M
coloane (numerotate de la 1
la M
). Orice element al matricei reprezintă o zonă de formă pătrată cu latura de 1
an lumină (denumită quadrant) şi poate fi identificat prin coordonatele sale (numărul liniei şi respectiv numărul coloanei pe care află).
Nava Enterprise se află într-un quadrant de coordonate cunoscute şi trebuie să ajungă la destinaţie (un alt quadrant, diferit de cel de plecare, de coordonate de asemenea cunoscute).
Nava se poate deplasa de la un quadrant la unul dintre cei învecinaţi pe orizontală sau verticală într-o unitate de timp (mai exact, din zona de coordonate (L,C)
nava se poate deplasa în una dintre zonele de coordonate (L-1,C)
, (L+1,C)
, (L,C-1)
, (L,C+1)
, fără a ieşi de pe hartă).
În plus, în unele zone (quadranţi) se găsesc porţi stelare. O poartă stelară permite deplasarea navei într-o unitate de timp în oricare altă zonă în care se găseşte o altă poartă stelară. Dacă în drumul său nava ajunge într-o zonă cu o poartă stelară, nava se poate deplasa într-o altă zonă cu poartă stelară sau poate să-şi continue drumul în una dintre zonele învecinate.
Determinați timpul minim în care nava poate ajunge din zona inițială în cea finală, precum și numărul de trasee de durată minimă.
ONI 2008
Problema | Poarta | Operații I/O |
poarta.in /poarta.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #51701438 | Utilizator | |
Fișier | poarta.cpp | Dimensiune | 3.62 KB |
Data încărcării | 05 August 2024, 19:06 | Scor / rezultat | 93 puncte |
poarta.cpp: In function 'int main()': poarta.cpp:72:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=1;i<=y;i++){ ^ poarta.cpp:75:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=2;i<=x;i++){ ^ poarta.cpp:76:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=1;j<=y;j++){ ^ poarta.cpp:80:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=1;i<=porturi;i++){ ^ poarta.cpp:90:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(d0>distante_d0[i]){ ^ poarta.cpp:111:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=1;i<=porturi;i++){ ^ poarta.cpp:112:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(distante_d0[i]==d0){ ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Corect! | 10 | 10 | ||
2 | 0 secunde | Corect! | 10 | 10 | ||
3 | 0 secunde | Corect! | 10 | 10 | ||
4 | 0 secunde | Corect! | 10 | 10 | ||
5 | 0 secunde | Corect! | 10 | 10 | ||
6 | 0 secunde | Corect! | 10 | 10 | ||
7 | 0 secunde | Corect! | 10 | 10 | ||
8 | 0 secunde | Corect! | 10 | 10 | ||
9 | 0 secunde | Corect! | 10 | 10 | ||
10 | 0 secunde | Distanta minima corecta. Numar de drumuri neprecizat. | 10 | 3 | ||
Punctaj total | 93 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Poarta 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ă.