• Time limit: N/A
  • Memory limit: N/A

Seuraavassa labyrintissa on kolme aarretta, jotka on merkitty kirjaimilla A, B ja C:

########
#A#....#
#.#.#C##
#...B..#
########

Kuten yleensäkin, labyrintissa voi kulkea vaaka- ja pystysuuntaisesti. Seuraava etäisyysmatriisi näyttää, miten kaukana aarteet sijaitsevat toisistaan:

0 5 7
5 0 2
7 2 0

Aarteet on esitetty matriisissa aakkosjärjestyksessä. Esimerkiksi aarteiden A ja B etäisyys on 5, koska aarteelta A pääsee aarteelle B kulkemalla kaksi askelta alaspäin ja kolme askelta oikealle.

Tehtävä

Tämän tehtävän pohjana on labyrintti, jonka korkeus ja leveys on 100 ruutua. Labyrintissa on 26 aarretta, jotka on merkitty kirjaimilla AZ.

Et saa kuitenkaan tietoosi itse labyrinttia vaan vain aarteiden etäisyysmatriisin, joka on tiedostossa laby.txt. Tehtäväsi on muodostaa labyrintti, joka vastaa mahdollisimman hyvin tätä matriisia.

Sinun tulee palauttaa labyrintin kuvaus tekstitiedostona samassa formaatissa kuin yllä olevassa esimerkissä. Sinun ei tule palauttaa koodia, jolla olet muodostanut labyrintin.

Tiedostossa tulee olla 100 riviä, ja jokaisella rivillä tulee olla 100 merkkiä. Jokaisen merkin tulee olla # (seinä), . (lattia) tai kirjain AZ. Jokaisen ruudun labyrintin reunalla tulee olla seinää. Jokaisen aarteen tulee esiintyä tasan kerran, ja labyrintissa tulee olla yhteys jokaisen kahden aarteen välillä.

Pisteytys

Saat tehtävästä \lfloor 100 \cdot x/(26^2) \rfloor pistettä, missä x tarkoittaa, moniko luku annetussa etäisyysmatriisissa vastaa muodostamaasi labyrinttia.