Un depozit cuprinde mai multe componente și piese auto. Fiecare componentă este realizată din mai multe piese. Fiecare piesă are asociat un cod de cifre, care identifică piesa respectivă în inventarul depozitului. Fiecare componentă are, de asemenea, un cod asociat, compus astfel: primele două cifre ale codului identifică componenta în mod unic. Următoarele cifre reprezintă codurile pieselor care sunt necesare în realizarea componentei. Pentru consistență, codurile pieselor ce aparțin componentei sunt scrise în ordine crescătoare. Fiecare componentă este compusă din minim și maxim piese.
Cerințe
- Cunoscându-se codurile asociate mai multor piese din depozit, codul pentru o anumită componentă și numărul de bucăți dorite din acea componentă, să se verifice dacă se pot realiza atâtea componente câte sunt dorite, iar dacă nu, să se precizeze câte dintre ele se pot realiza, cu piesele din stoc.
- Cunoscându-se codurile asociate mai multor piese și componente din depozit, precum și codurile unor componente ce trebuie fabricate, să se afișeze în ordine crescătoare a codurilor piesele ce trebuie comandate la depozit pentru a putea fabrica noile componente, împreună cu numărul de bucăți necesar pentru fiecare piesă, știind faptul că, toate acele componente care sunt deja în depozit, vor fi dezmembrate pentru a obține piese utilizabile în producția componentelor noi.
Date de intrare
Fișieru depozit.in conține pe prima linie valoarea numărului natural , reprezentând cerința
de rezolvat:
- Pentru (Cerinta 1), se consideră:
- pe a doua line, , număr natural, reprezentând numărul de piese din depozit,
- pe a treia linie, codurile celor piese din depozit,
- pe a patra linie, , număr natural de maxim 8 cifre, reprezentând codul componentei date spre producție,
- pe a cincea linie, , număr natural reprezentând numărul de astfel de componente de fabricat;
- Pentru c = 2 (Cerința 2), se consideră:
- pe a doua line, , număr natural, reprezentând numărul de piese și componente din depozit,
- pe a treia linie, codurile celor piese si componente din depozit,
- pe a patra linie, , număr natural reprezentând numărul de componente dorite să fie fabricate,
- pe a cincea linie, codurile celor componente ce trebuie fabricate;
Date de ieșire
Fisierul depozit.out conține:
- Pentru (Cerința 1):
Mesajul , dacă se pot fabrica componente cu codul , folosind piesele din stocul depozitului, sau numărul natural , reprezentând câte componente se pot fabrica din cele cerute. - Pentru (Cerința 2):
Un șir de perechi de numere, unde membrul stâng al fiecărei perechi este dat de codul piesei, iar membrul drept de numărul de piese necesare de comandat pentru a realiza componentele cerute. Șirul rezultat este ordonat crescător după codul piesei. Nu se afiseaza nimic dacă toate piesele necesare se află în depozit
Restricții și precizări
- , număr natural din intervalul , reprezentând codul unei piese
- , număr natural de maxim cifre, reprezentând codul unei componente
- , numere naturale
| # | Puncte | Restricții |
|---|---|---|
| 1 | 20 | |
| 2 | 80 |
Exemplul 1
depozit.in
1
8
12 14 56 34 65 34 15 14
12141434
2
depozit.out
1
Explicație
Componenta cu codul are identificatorul și cuprinde două piese cu codul și una cu codul . În depozit există două piese cu codul și două cu codul , ceea ce nu este suficient pentru fabricarea a două componente. Cu piesele la dispoziție, există posibilitatea fabricării unei singure piese.
Exemplul 2
depozit.in
2
8
12 9843 43 23 24132343 33 123334 6733
5
102343 123367 56333343 8867 80671313
depozit.out
13 1 67 3
Explicație
Pentru realizarea componentelor noi, în urma dezmembrării tuturor componentelor vechi, mai rămân de comandat: o piesă cu codul și trei cu codul