Datatähti 2012: Loppukilpailu


Tehtävänanto

Neliön neliöinti tarkoittaa sen jakamista pienemmiksi neliöksi. Pienten neliöiden täytyy peittää kokonaan alkuperäinen neliö, ja ne eivät saa osua toistensa päälle. Kaikkien neliöiden koot ovat kokonaislukuja.

Seuraavassa on kaksi tapaa neliöidä 8x8-neliö:

Vasemmassa neliöinnissä neliöiden määrä on 18, kun taas oikeassa neliöinnissä neliöiden määrä on 17.

Tehtävänäsi on etsiä neliöinnit tapauksiin, joissa alkuperäisen neliön koko on välillä 2–100. Mitä vähemmän neliöitä tarvitset, sitä paremmaksi vastaukseksi katsotaan.

Palautus

Tehtävässä palautetaan tekstimuotoinen kuvaus jokaisesta neliöinnistä. Tehtävässä ei tarvitse palauttaa siis ohjelman koodia.

Kuvauksen ensimmäisellä rivillä on alkuperäisen neliön koko. Kuvauksen toisella rivillä on tarvittava pienempien neliöiden määrä. Tämän jälkeen jokaisella rivillä on yhden neliön x-koordinaatti, y-koordinaatti ja koko. Koordinaatiston vasemman yläkulman koordinaatit ovat (1, 1).

Esimerkiksi seuraava kuvaus vastaa esimerkin vasenta neliöintiä:

8
18
1 1 3
4 1 2
6 1 1
7 1 2
6 2 1
4 3 4
8 3 1
1 4 1
2 4 2
8 4 1
1 5 1
8 5 1
1 6 3
8 6 1
4 7 2
6 7 1
7 7 2
6 8 1