Secretariat

Time limit: 1s Memory limit: 64MB Input: secretariat.in Output: secretariat.out

La Secretariat există NN ghișee, numerotate de la 11 la NN. Un număr de persoane a format deja NN cozi, câte una la fiecare ghișeu.

Fiecare persoană are o singură problemă de rezolvat. Există KK tipuri de probleme, numerotate de la 11 la KK, unde KNK \leq N. Există cel puțin câte o persoană cu fiecare problemă dintre cele KK.

Personalul Secretariatului ar aprecia dacă fiecare coadă ar conține persoane cu un singur tip de problemă. Pentru a realiza acest lucru, poate fi nevoie să rearanjăm cozile. Pentru a reraranja cozile, se poate face un singur tip de operație:

Operația (i,j)(i, j) ia prima persoană din coada de la ghișeul ii și o plasează în spatele cozii de la ghișeul jj.
Este permis (deși trist) ca i=ji = j.

Dorim să efectuăm un număr minim de operații pentru a satisface proprietatea cerută. Din fericire, asocierea ghișeu-problemă nu este fixată în acest moment și poate fi decisă de noi pentru a minimiza numărul de operații.

Date de intrare

Prima linie va conține numerele NN și KK, separate printr-un spațiu.

Conținutul următoarelor NN linii va fi următorul: linia ii va începe cu un număr natural NiN_i reprezentând numărul de persoane din coada de la ghișeul ii, urmat de NiN_i numere între 11 și KK, separate prin câte un spațiu, reprezentând tipul problemelor avute de persoanele aflate la coadă, în ordine dinspre fața cozii înspre spatele ei.

Date de ieșire

Prima linie va conține o singură valoare, ANSANS reprezentând numărul minim de operații cerut de problemă.
Următoarele ANSANS linii vor fi de forma ii jj (unde ii și jj sunt separate de un spațiu) reprezentând faptul că prima persoană din coada de la ghișeul ii merge și se așează în spatele cozii de la ghișeul jj.

Restricții și precizări

# Punctaj Restricții
1 32 N=K=2N = K = 2
2 25 1N1 0001 \leq N \leq 1 \ 000 și K=NK = N
3 43 1KN1 0001 \leq K \leq N \leq 1 \ 000
  • Pentru toate testele, pentru toți 1iN1 \leq i \leq N, se respectă 1Ni2 0001 \leq N_i \leq 2 \ 000, iar totalul de oameni aflați la coadă este cel mult 500 000500 \ 000.
  • Trebuie să rezolvați corect toate testele din cadrul unui subtask pentru a primi punctajul aferent acestuia.

Exemplu

secretariat.in

4 3
4 2 2 1 1
3 3 3 3
4 1 2 1 2
1 1

secretariat.out

5
3 4
3 3
1 3
3 1
1 3

Explicație

Exemplul descrie următoarea situație:
Ghișeul 1:2 2 1 11: 2 \ 2 \ 1 \ 1
Ghișeul 2:3 3 32: 3 \ 3 \ 3
Ghișeul 3:1 2 1 23: 1 \ 2 \ 1 \ 2
Ghișeul 4:14: 1
Se poate arăta că nu există soluție cu mai puțin de 55 operații. După cele 55 operații descrise în fișierul de ieșire, cozile vor arăta astfel:
Ghișeul 1:1 1 11: 1 \ 1 \ 1
Ghișeul 2:3 3 32: 3 \ 3 \ 3
Ghișeul 3:2 2 2 23: 2 \ 2 \ 2 \ 2
Ghișeul 4:1 14: 1 \ 1

Log in or sign up to be able to send submissions!