Fişierul intrare/ieşire:piese3.in, piese3.outSursăFinala ONIS 2016
AutorSergiu-Ioan UngurAdăugată destocarulCosmin-Mihai Tutunaru stocarul
Timp execuţie pe test1.25 secLimită de memorie36864 kbytes
Scorul tăuN/ADificultateN/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 cel putin un element 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.inpiese3.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
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?