Fișierul intrare/ieșire bacan.in, bacan.out Sursă .campion 2006
Autor Marinel Șerban Adăugată de avatar Isabela_coman Coman Isabela Patricia Isabela_coman
Timp de execuție pe test 0.07 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate N/A
open book Poți vedea testele pentru această problemă accesând atașamentele .

Băcan

Bacanul din colt e un tip de treaba. In fiecare seara imi fac cumparaturile la el si de multe ori il gasesc stand pana tarziu pentru a “face casa”. Mai exact, el analizeaza lista vanzarilor din ziua respectiva si totalizeaza aceste vanzari pe produse, obtinand astfel un document denumit situatia vanzarilor.

In lista vanzarilor apare o linie pentru fiecare vanzare facuta sub forma:

nume_produs * cantitate

Cantitatea este exprimata intotdeauna in unitatea de masura specifica produsului. Numele produsului este separat de cantitate prin caracterul * (asterisc) precedat si urmat de cate un singur spatiu.

De exemplu:

Cascaval * 2
Bere Tuborg * 6
Varza * 1
Bere Tuborg * 2
Cascaval * 3

In situatia vanzarilor, produsele trebuie sa apara in ordine alfabetica, cate un produs pe o linie. Pe linia corespunzatoare unui produs este scris numele acestuia urmat de * si apoi de cantitatea totala vanduta din produsul respectiv. Caracterul * trebuie sa fie precedat si urmat de cate un singur spatiu.

De exemplu, pentru lista de vanzari precedenta situatia vanzarilor va arata astfel:

Bere Tuborg * 8
Cascaval * 5
Varza * 1

Fiindca si eu sunt un tip de treaba si nu e mare lucru sa-i fac un program care sa-i genereze situatia vanzarilor, as vrea sa fac acest lucru, dar ... niciodata nu am timp.

Cerință

Scrieti un program care sa citeasca lista vanzarilor dintr-o zi si care sa genereze situatia de vanzari.

Date de intrare

Fisierul de intrare bacan.in contine pe prima linie numarul natural n reprezentand numarul de vanzari efectuate in ziua respectiva. Urmeaza n linii, pe fiecare linie fiind descrisa o singura vanzare, sub forma din enunt.

Date de ieșire

Fisierul de iesire bacan.out va contine pe prima linie numarul natural p reprezentand numarul de produse distincte vandute in ziua respectiva. Pe urmatoarele p linii sunt descrise produsele vandute, sub forma specificata in enunt.

Restricții

  • 1 ≤ n ≤ 100 000
  • 1 ≤ Numarul de produse vandute ≤ 1000
  • Numele unui produs contine maxim 20 de caractere (litere mari, litere mici si spatii). Evident, un nume nu incepe si nu se termina cu spatiu.
  • La o vanzare cantitatea nu depaseste 100 de unitati.

Exemplu

bacan.in bacan.out
5
Cascaval * 2
Bere Tuborg * 6
Varza * 1
Bere Tuborg * 2
Cascaval * 3
3
Bere Tuborg * 8
Cascaval * 5
Varza * 1

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii