aperm


Timp maxim de execuţie/test:
0.7 secunde
Memorie totală disponibilă/stivă:
2 MB/1 MB

Se consideră o matrice cu n linii si p coloane. Fiecare linie a matricei este o permutare a multimii {1,2,…,p}.

Cerinţă

Să se ordoneze lexicografic liniile matricei.

Date de intrare

Fişierul de intrare aperm.in conţine pe prima linie numerele n si p separate prin spatiu. Pe următoarele n linii se găsesc câte p numere naturale separate prin spatiu, fiecare linie fiind o permutare a multimii {1,2,…,p}.

Date de ieşire

Fişierul de ieşire aperm.out va conţine n linii. A i-a linie va contine un singur număr natural reprezentând numărul de ordine al liniei din matrice care se află pe pozitia i după ordonarea lexicografică a liniilor.

Restricţii

  • 3 <= n <= 50 000
  • 2 <= p <= 16
  • Dacă sunt linii identice în permutare, aceste linii se vor afisa în ordinea crescătoare a indicilor.

Exemplu

aperm.in aperm.out Explicaţii
5 4
1 3 4 2
4 1 2 3
1 3 2 4
4 1 2 3
3 2 4 1
3
1
5
2
4

Cea mai mică permutare din punct de vedere lexicografic este cea de pe linia a treia. Urmează prima linie, apoi a cincea. A doua linie si a patra linie din matrice sunt cele mai mari lexicografic si identice, deci se afisează mai întâi 2, apoi 4.
prof. Vlad Nicu
Liceul "Mihail Kogălniceanu" Vaslui