#687
liste
Numim listă un sir de numere naturale. Avem la dispoziţie mai multe liste aşezate, în ordine, una sub alta. Spunem că două liste L1
şi L2
sunt vecine dacă L1
este imediat deasupra lui L2
, sau dacă L2
este imediat deasupra lui L1
. Oricare două liste vecine L1
şi L2
pot fi unificate dacă ele au cel puţin un element comun. Prin unificare, noua listă va avea ca elemente toate elementele din L1
la care se adaugă toate elementele din L2
. Listele L1
şi L2
vor dispărea şi în locul lor va apărea noua listă.
Determinaţi numărul minim de liste care rezultă după aplicarea unui număr suficient de unificări astfel încât să nu mai existe două liste vecine care să poată fi unificate.
Problema | liste | Operații I/O |
liste.in /liste.out
|
---|---|---|---|
Limita timp | 2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 64 MB
|
Id soluție | #53924471 | Utilizator | |
Fișier | liste.cpp | Dimensiune | 1.33 KB |
Data încărcării | 14 Noiembrie 2024, 20:48 | Scor / rezultat | 100 puncte |
liste.cpp: In function 'int main()': liste.cpp:9:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("liste.in", "r", stdin); ^ liste.cpp:10:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("liste.out", "w", stdout); ^ liste.cpp:12:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ liste.cpp:14:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &l); ^ liste.cpp:16:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &x),f[1][x]=1; ^ liste.cpp:23:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &l); ^ liste.cpp:26:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &a[i]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0.06 secunde | OK. | 10 | 10 | ||
4 | 0.024 secunde | OK. | 10 | 10 | ||
5 | 0.04 secunde | OK. | 10 | 10 | ||
6 | 0.028 secunde | OK. | 10 | 10 | ||
7 | 0.1 secunde | OK. | 10 | 10 | ||
8 | 0.056 secunde | OK. | 10 | 10 | ||
9 | 0.044 secunde | OK. | 10 | 10 | ||
10 | 0.004 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema liste 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ă.