Depozit

Time limit: 0.5s Memory limit: 16MB Input: depozit.in Output: depozit.out

Un depozit cuprinde mai multe componente și piese auto. Fiecare componentă este realizată din mai multe piese. Fiecare piesă are asociat un cod de 22 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 22 și maxim 33 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 cc, reprezentând cerința
de rezolvat:

  • Pentru c=1c = 1 (Cerinta 1), se consideră:
    • pe a doua line, dimDepdimDep, număr natural, reprezentând numărul de piese din depozit,
    • pe a treia linie, codurile celor dimDepdimDep piese din depozit,
    • pe a patra linie, codCompcodComp, număr natural de maxim 8 cifre, reprezentând codul componentei date spre producție,
    • pe a cincea linie, nrCompnrComp, 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, dimDepdimDep, număr natural, reprezentând numărul de piese și componente din depozit,
    • pe a treia linie, codurile celor dimDepdimDep piese si componente din depozit,
    • pe a patra linie, nrCompnrComp, număr natural reprezentând numărul de componente dorite să fie fabricate,
    • pe a cincea linie, codurile celor nrCompnrComp componente ce trebuie fabricate;

Date de ieșire

Fisierul depozit.out conține:

  • Pentru c=1c = 1 (Cerința 1):
    Mesajul DADA, dacă se pot fabrica nrCompnrComp componente cu codul codCompcodComp, folosind piesele din stocul depozitului, sau numărul natural nrCompMaxnrCompMax, reprezentând câte componente se pot fabrica din cele nrCompnrComp cerute.
  • Pentru c=2c = 2 (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

  • c{1,2}c \in \{1, 2\}
  • codPiesacodPiesa, număr natural din intervalul [10,99][10, 99], reprezentând codul unei piese
  • codCompcodComp, număr natural de maxim 88 cifre, reprezentând codul unei componente
  • 1nrComp,dimDep10001 \leq nrComp, dimDep \leq 1000, numere naturale
# Puncte Restricții
1 20 c=1c = 1
2 80 c=2c = 2

Exemplul 1

depozit.in

1
8
12 14 56 34 65 34 15 14
12141434
2

depozit.out

1

Explicație

Componenta cu codul 1214143412141434 are identificatorul 1212 și cuprinde două piese cu codul 1414 și una cu codul 3434. În depozit există două piese cu codul 1414 și două cu codul 3434, 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 1313 și trei cu codul 6767

Log in or sign up to be able to send submissions!