#3762
Butoi
Vară, căldură mare. Gigel se joacă în curte udând florile. După ce a terminat, mama lui îi dă o sarcină mai grea. Gigel trebuie să umple un butoi cu apă de rezervă în caz de secetă. Dar nu oricum! El are la dispoziție un șir de găleți de diferite capacități și trebuie să le folosească doar pe acestea pentru umplerea completă a butoiului. O operație constă în umplerea completă a unei o găleți de la sursa de apă și golirea ei în butoi. Desigur, o găleată se poate folosi de mai multe ori. Butoiul are capacitate de V
litri, Gigel are N
găleți de capacități c
1
, c
2
, …, c
N
litri, numere întregi și distincte și poate folosi o găleată de cel mult K
ori. Ajutați-l pe Gigel să umple butoiul. Scrieți un program care să rezolve următoarele cerințe:
1. Determinați câte modalități de umplere a butoiului există;
2. Determinați o modalitate de umplere a butoiului cu număr minim de operații;
3. O secvență de exact P
găleți alăturate se numește norocoasă dacă prin efectuarea operației de același număr de ori pentru fiecare dintre ele, vom putea umple complet butoiul. Determinați secvența norocoasă care permite folosirea celor P
găleți de un număr minim de ori pentru umplerea completă a butoiului. Secvența norocoasă se va identifica prin poziția primei găleți folosite. Dacă există mai multe soluții se va afișa cea cu poziția minimă. Gălețile din secvența norocoasă se pot folosi de câte ori este nevoie.
ONSEPI, 2021, clasa a VI-a
Problema | Butoi | Operații I/O |
butoi.in /butoi.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #43013108 | Utilizator | |
Fișier | butoi.cpp | Dimensiune | 2.08 KB |
Data încărcării | 27 Martie 2023, 13:43 | Scor / rezultat | Eroare de compilare |
butoi.cpp: In function 'int mai_pot_aduna()': butoi.cpp:17:9: error: 'i' was not declared in this scope for(i=n; i>=1; i--) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Butoi 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ă.