Actualitza Inventari Z12692


Statement
 

pdf   zip

thehtml

Una botiga disposa d’un inventari de productes que consisteix en una llista dels productes que ven, incloent el nombre exacte d’unitats de cada producte que té en estoc. L’inventari es dóna ordenat pel codi del producte.

També disposa del llistat de compres que s’han fet, per ordre cronològic, que és una llista dels codis dels productes comprats pels clients i quantes unitats se n’han comprat.

Fes un programa que llegeixi, primer, l’inventari de la botiga; tot seguit, el llistat de les compres; i finalment, mostri l’inventari actualitzat. Actualitzar l’inventari vol dir restar les unitats comprades a l’estoc de cada producte, per saber quantes unitats haurien de quedar.



Possibles errors

En general, les compres troben suficient estoc, però si una compra vol més unitats d’un producte de les que hi ha disponibles, s’ha de considerar que la compra no ha estat possible i per tant aquella compra s’ignora i no afecta l’inventari.

Per altra banda, sovint la llista de compres conté errors i s’intenten comprar productes que no apareixen a l’inventari. Quan una compra té un producte no existent, també s’ignora.

Per tenir una idea de les compres que no eren correctes, ja sigui per estoc o pel producte inexistent, el programa he de mostrar al final el total d’errors (compres invàlides) que s’han detectat.

Observació

Entrada

L’entrada consisteix en dues parts: 1) l’inventari: un enter n seguit de n parelles del codi del producte (un enter) i el nombre d’unitats en estoc (un enter); 2) el llistat de compres: un enter m seguit de m parelles del codi del producte (un enter) i el nombre d’unitats comprades (un enter). Els codis de producte tenen una lletra majúscula seguida de 8 dígits.

Sortida

La sortida serà l’inventari actualitzat, és a dir, una llista de parells d’enters amb el codi de cada producte i les unitats en estoc finals, ordenats per l’identificador del producte. La última línia de la sortida dirà "N errors" a on N és el número de compres invàlides.

Public test cases
  • Input

    3
    A11111111 0
    Y88888888 1
    Z99999999 1
    
    5
    A11111111 1
    Y88888888 2
    Z99999999 1
    X77777777 1
    P22222222 1
    
    

    Output

    A11111111 0
    Y88888888 1
    Z99999999 0
    4 errors
    
  • Input

    3
    X11111111 10
    Y22222222 5
    Z33333333 1
    
    7
    X11111111 2
    X11111111 3
    Y22222222 4
    Z33333333 3
    Y22222222 2
    X11111111 5
    Z33333333 1

    Output

    X11111111 0
    Y22222222 1
    Z33333333 0
    2 errors
    
  • Information
    Author
    PRO1
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++