CSES - Putka Open 2015 – 6/6 - Shakki
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Shakkilaudan ruudut ovat menneet sekaisin! Mustia ja valkeita ruutuja on kumpiakin edelleen 32, mutta niiden järjestys on väärä.

Tehtäväsi on korjata tilanne. Joka siirrolla voit valita shakkilaudasta yhden 2 \times 2 -neliön ja kiertää siinä olevia ruutuja askeleen myötäpäivään.

Syöte

Syöte sisältää 8 riviä, joista jokaisella on 8 merkkiä. Tämä kuvaa shakkilaudan ruutujen järjestyksen. Jokainen merkki on M (musta) tai V (valkea).

Tuloste

Ohjelmasi tulee tulostaa ensin kokonaisluku n: siirtojen määrä. Tämän jälkeen ohjelmasi tulee tulostaa n riviä, joista jokainen kuvaa yhden siirron. Joka rivillä on kaksi kokonaislukua x ja y: kierrettävän neliön vasemman yläkulman koordinaatit (välillä 1 \ldots 7). Koordinaatit kasvavat vasemmalta oikealle ja ylhäältä alas.

Voit tulostaa minkä tahansa ratkaisun, kunhan n \le z, missä z vaihtelee osatehtävissä. Tuloksena olevan shakkilaudan vasemman yläkulman ruutu voi olla musta tai valkea.

Esimerkki

Syöte:

MVMVMVMV
VVMMVMVM
VMMVMVMV
MVVMVMVM
MVMVMVMV
VMVMVMVM
MVMVMVMV
VMVMVMVM

Tuloste:

2
2 2
1 3

Osatehtävä 1 (28 pistettä)

  • z=10^5

Osatehtävä 2 (21 pistettä)

  • z=25000

Osatehtävä 3 (24 pistettä)

  • z=5000

Osatehtävä 4 (27 pistettä)

  • z=250