#4982

Se organizează cel mai grandios eveniment în aer liber pentru șoferi: Drive-in cinema cu o parcare imensă matriceală pentru mașini, cu patru ecrane imense la nord, sud, est și vest. Același film este proiectat în toate cele patru direcții. Altfel spus, ai la dispoziție 360° de film, deci, oricum ai parca, vei putea viziona filmul fără probleme consumând Tortilla chips cu gust de brânză și Coca-Cola.
Mașinile sosesc în parcare una după alta, având loc și timp suficient să efectueze manevre sigure de parcare. Însă, la finalul evenimentului, toate mașinile vor dori să plece cât mai repede. De aceea, este nevoie de o strategie prin care mașinile să părăsească parcarea în linie dreaptă (fără viraje), păstrând direcția în care erau așezate în timpul filmului, fără să se ciocnească cu alte mașini. Parcarea fiind într-o zonă deschisă, se poate ieși pe oriunde. Altfel spus: tot perimetrul matricei este ieșire. Organizatorii vă roagă să dați o mână de ajutor cu o strategie prin care să eliberați mașinile din parcare una câte una, precizând de fiecare dată coordonatele (linia și coloana) următoarei mașini care pleacă.
Cunoscând dimensiunile parcării N, M și direcția fiecărei mașini, se cere un plan de eliberare a tuturor mașinilor.
OJI 2026, clasele 11-12
| Problema | Eliberare | Operații I/O |
eliberare.in/eliberare.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 256 MB
/
Stivă 32 MB
|
| Id soluție | #64029794 | Utilizator | |
| Fișier | eliberare.c | Dimensiune | 3.40 KB |
| Data încărcării | 08 Aprilie 2026, 21:48 | Scor/rezultat | 0 puncte |
eliberare.c: In function 'main': eliberare.c:68:11: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "%d %d\n", &N, &M); ^ eliberare.c:74:19: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "%c", &aux); ^ eliberare.c:100:15: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "\n"); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | Pozitie invalida! | 10 | 0 | ||
| 2 | 0 secunde | Pozitie invalida! | 10 | 0 | ||
| 3 | 0 secunde | Eliberare invalida! | 10 | 0 | ||
| 4 | 0 secunde | Pozitie invalida! | 10 | 0 | ||
| 5 | 0.012 secunde | Pozitie invalida! | 5 | 0 | ||
| 6 | 0.016 secunde | Eliberare invalida! | 5 | 0 | ||
| 7 | 0.016 secunde | Eliberare invalida! | 5 | 0 | ||
| 8 | 0.02 secunde | Eliberare invalida! | 5 | 0 | ||
| 9 | 0.016 secunde | Eliberare invalida! | 5 | 0 | ||
| 10 | 0.02 secunde | Eliberare invalida! | 5 | 0 | ||
| 11 | 0 secunde | Eliberare invalida! | 2 | 0 | ||
| 12 | 0 secunde | Eliberare invalida! | 2 | 0 | ||
| 13 | 0 secunde | Eliberare invalida! | 2 | 0 | ||
| 14 | 0 secunde | Pozitie invalida! | 2 | 0 | ||
| 15 | 0 secunde | Eliberare invalida! | 2 | 0 | ||
| 16 | 0 secunde | Eliberare invalida! | 2 | 0 | ||
| 17 | 0.16 secunde | Eliberare invalida! | 1 | 0 | ||
| 18 | 0.16 secunde | Eliberare invalida! | 1 | 0 | ||
| 19 | 0.172 secunde | Eliberare invalida! | 1 | 0 | ||
| 20 | 0.204 secunde | Pozitie invalida! | 1 | 0 | ||
| 21 | 0.152 secunde | Eliberare invalida! | 2 | 0 | ||
| 22 | 0.148 secunde | Eliberare invalida! | 2 | 0 | ||
| 23 | 0.328 secunde | Eliberare invalida! | 2 | 0 | ||
| 24 | 0.308 secunde | Eliberare invalida! | 2 | 0 | ||
| 25 | 0.1 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 26 | 0.072 secunde | Caught fatal signal 11 | 2 | 0 | ||
| 27 | 0.292 secunde | Eliberare invalida! | 2 | 0 | ||
| Punctaj total | 0 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Eliberare 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ă.