#4436
nisip
Misiunea lui Loid constă în a dinamita piatra de pe unele niveluri pentru a provoca surparea minei și curgerea nisipului spre nivelurile inferioare. El are de îndeplinit m
sarcini numerotate de la 1
la m
. Acestea sunt de două tipuri:
1 t p
(dinamitare): Loid trebuie ca, la secunda t
, să dinamiteze piatra de pe nivelul p
al minei. Pentru orice astfel de sarcină, Loid știe că, la secunda t
, nivelul p
conține piatră, iar aceasta va fi înlocuită de aer la secunda t+1
, după dinamitare.2 t p
(întrebare): Pentru a i se testa perspicacitatea, Loid este întrebat ce conține nivelul p
al minei la secunda t
: aer, nisip sau piatră?Dându-se n
, conținuturile tuturor nivelurilor minei la secunda 0
, m
și sarcinile care trebuie îndeplinite, să se determine răspunsurile la sarcinile de tip întrebare.
ONI 2023, clasa a IX-a
Problema | nisip | Operații I/O |
nisip.in /nisip.out
|
---|---|---|---|
Limita timp | 1.5 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
Id soluție | #50504417 | Utilizator | |
Fișier | nisip.cpp | Dimensiune | 7.05 KB |
Data încărcării | 11 Aprilie 2024, 21:43 | Scor / rezultat | 100 puncte |
nisip.cpp: In function 'int main()': nisip.cpp:49:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("nisip.in", "r", stdin); ^ nisip.cpp:50:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("nisip.out", "w", stdout); ^ nisip.cpp:52:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &n, &m); ^ nisip.cpp:65:36: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &cells[i].type); ^ nisip.cpp:98:39: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &task, &x, &y); ^ nisip.cpp:110:53: warning: 'last_del_y' may be used uninitialized in this function [-Wmaybe-uninitialized] int next_pos = find(last_del_y, next); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0 secunde | OK. | 10 | 10 | ||
5 | 0 secunde | OK. | 10 | 10 | ||
6 | 0 secunde | OK. | 10 | 10 | ||
7 | 0.064 secunde | OK. | 10 | 10 | ||
8 | 0.06 secunde | OK. | 10 | 10 | ||
9 | 0.072 secunde | OK. | 10 | 10 | ||
10 | 0.188 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema nisip 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ă.