CSES - Datatähti 2018 loppu - Vaihdot
  • Time limit: 1.00 s
  • Memory limit: 512 MB
Annettuna on kaksi $n \times n$ -ruudukkoa, joista molemmat sisältävät kokonaisluvut $1,2,\ldots,n^2$ jossain järjestyksessä. Ruudukon rivit ja sarakkeet on numeroitu kokonaisluvuin $1,2,\ldots,n$.

Käytössäsi on seuraavat operaatiot:
  1. vaihda keskenään kaksi riviä
  2. vaihda keskenään kaksi saraketta
Tehtäväsi on muuttaa ensimmäinen ruudukko toiseksi operaatioiden avulla niin, että operaatioiden määrä on mahdollisimman pieni.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluku $n$: ruudukoiden koko.

Sitten syötteessä on $n$ riviä, jotka kuvaavat ensimmäisen ruudukon, ja lopuksi $n$ riviä, jotka kuvaavat toisen ruudukon.

Tuloste

Tulosta ensin kokonaisluku $k$: pienin operaatioiden määrä. Tulosta sitten $k$ riviä, jotka sisältävät operaatiot järjestyksessä.

Jokaisen operaation tulee olla muotoa "$1$ $a$ $b$" (vaihda rivit $a$ ja $b$) tai "$2$ $a$ $b$" (vaihda sarakkeet $a$ ja $b$).

Jos mitään ratkaisua ei ole olemassa, tulosta vain luku $-1$.

Esimerkki 1

Syöte:
3
1 2 3
4 5 6
7 8 9
2 1 3
8 7 9
5 4 6


Tuloste:
2
2 1 2
1 2 3


Esimerkki 2

Syöte:
3
6 3 7
8 1 4
9 2 5
8 5 2
7 3 1
9 4 6


Tuloste:
-1

Osatehtävä 1 (12 pistettä)
  • $1 \le n \le 3$
Osatehtävä 2 (55 pistettä)
  • $1 \le n \le 50$
Osatehtävä 3 (33 pistettä)
  • $1 \le n \le 500$