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×22 \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 nn: siirtojen määrä. Tämän jälkeen ohjelmasi tulee tulostaa nn riviä, joista jokainen kuvaa yhden siirron. Joka rivillä on kaksi kokonaislukua xx ja yy: kierrettävän neliön vasemman yläkulman koordinaatit (välillä 171 \ldots 7). Koordinaatit kasvavat vasemmalta oikealle ja ylhäältä alas.

Voit tulostaa minkä tahansa ratkaisun, kunhan nzn \le z, missä zz 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=105z=10^5

Osatehtävä 2 (21 pistettä)

  • z=25000z=25000

Osatehtävä 3 (24 pistettä)

  • z=5000z=5000

Osatehtävä 4 (27 pistettä)

  • z=250z=250