Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | piese3.in, piese3.out | Sursă | Finala ONIS 2016 |
Autor | Sergiu-Ioan Ungur | Adăugată de | |
Timp execuţie pe test | 1.25 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Piese3
hceToglA se extinde în industria auto, mai exact ca şi distribuitor de piese. A cumpărat iniţial un depozit ce conţine un stoc de N piese, fiecare piesă având asignate exact C coduri. Lerogla, şef de depozit vrea să pună lucrurile în ordine chiar de la început, astfel că a început reorganizarea pieselor în depozit.
Reorganizarea constă în gruparea pieselor duplicate. Două piese A şi B se consideră a fi duplicate dacă oricare dintre codurile asignate piesei A este egal cu oricare dintre codurile asignate piesei B. De asemenea, dacă A şi B sunt duplicate, iar B şi C sunt duplicate, atunci implicit A şi C se consideră a fi duplicate.
Toate bune, însă, după o săptămână de muncă asiduă Lerogla şi-a dat seama că sarcina îi este imposibilă, astfel că este nevoită să apeleze la colegii din departamentul de programare. Şi încă ceva… Au mai fost cumpărate între timp câteva depozite, astfel că în prezent avem un total de T depozite, fiecare cu aceeaşi nevoie de reorganizare.
Se dă T - numărul de depozite. Pentru fiecare depozit se dau N - numărul de piese, C - numărul de coduri asignate fiecărei piese din acel depozit, apoi Xij - codurile asignate piesei i, 1 <= i <= N, 1 <= j <= C.
Se cer grupurile de piese în ordinea crescătoare a indecşilor pieselor ( 1 <= i <= N ), atât în interiorul grupurilor, cât şi a unui grup faţă de celălalt (Lerogla este foarte atentă la detalii). De exemplu, dacă avem grupurile (2), (1, 3), (5, 4, 6) ele se vor afişa în ordinea: (1, 3), (2), (4, 5, 6). Notă: un grup este format din indecşii pieselor ce îl compun, indecşi cu valoare între 1 şi N.
Date de intrare
Fişierul de intrare piese3.in contine pe prima linie T - numărul de depozite, apoi pe următoarele linii sunt descrise cele T depozite în felul următor:
- Prima linie conţine N - numărul de piese, şi C - numărul de coduri asignate fiecărei piese, separate printr-un spaţiu.
- Fiecare dintre următoarele N linii conţine C valori reprezentând codurile piesei i, Xij, 1 <= i <= N, 1 <= j <= C.
Date de ieşire
În fişierul de ieşire piese3.out trebuie să afişaţi pentru fiecare depozit, grupurile de piese după reorganizare, fiecare grup pe câte o linie separată, în ordinea definită mai sus.
Notă: ordinea se aplică în cadrul unui depozit, nu global.
Restricţii
- 1 <= T <= 20
- 1 <= N <= 50 000
- 1 <= C <= 10
- 1 <= Xij <= 1 000 000
- În mulţimea de coduri a unei piese se pot afla valori egale.
Exemplu
piese3.in | piese3.out |
---|---|
3 3 3 1 2 9 3 4 9 5 6 7 4 2 10 10 11 20 10 5 17 5 5 4 101 102 103 44 4 2 3 1 6 10 13 21 2 17 20 23 8 7 4 3 | 1 2 3 1 3 4 2 1 2 4 5 3 |