- Time limit: N/A
- Memory limit: N/A
Uolevi rakastaa talvea ja haluaa rakentaa sen kunniaksi lumilinnan. Valitettavasti Uolevi on fiktiivinen henkilö, eikä siksi osaa rakentaa. Auta pelastamaan Uolevin joulu suunnittelemalla hänen unelmalinnansa!
Uolevin mielestä linnan pitää olla täsmälleen ruutua leveä ja korkea. Jokaisen ruudun on oltava joko täysin tyhjä ('.'
) tai sisällettävä tukeva lumiseinä ('#'
). Kaikista tyhjistä ruuduista on voitava kulkea toisiinsa ja ulkoreunalla on oltava tasan yksi sisäänkäynti (tyhjä ruutu).
Tämän lisäksi Uolevi haluaa linnan sisätilojen olevan tietynlaiset. Tarkemmin sanottuna Uolevilla on mielessään kuinka monta kappaletta kutakin mahdollista aliruudukkoa lumilinnasta pitäisi löytyä.
Esimerkiksi lumilinna
#.## #..# #.## ####
sisältää aliruudukot
#.# .## #.. ..# #.. ..# #.# .## #.# .## ### ###
Syöte
Uolevin toiveet on listattu tiedostossa data.in. Ensimmäinen rivi sisältää erilaisten toivottujen -kokoisten ruudukoiden määrän . Seuraavat riviä kuvaavat jokaisen toiveen: kunkin toiveen ensimmäisellä rivillä lukee kuinka monta kopiota seuraavien kolmen rivin esittämää aliruudukkoa linnasta tulisi löytyä.
Tuloste
Tehtävään palautetaan yksi tekstitiedosto, jonka tulee sisältää täsmälleen merkkiä ruudukossa kuvaten Uolevin toivelinnan. Saat pistettä jokaisesta toiveesta, jonka onnistut täyttämään. Lopuksi keräämäsi pistemäärä neliöidään ja kerrotaan sadalla, eli täydet pistettä saat täyttämällä kaikki toivetta.