Instructions are only in Finnish.

 

 
Premature optimization is the root of all evil.
— Donald Ervin Knuth

Tällä kertaa tutkimme muhkeita sanapareja.

Sanaparin muhkeus määritellään seuraavasti: muhkeus on yhtä kuin sanaparin sisältämien uniikkien kirjainten määrä. Kirjaimiksi lasketaan seuraavat merkit: {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, å, ä, ö}. Isot ja pienet kirjaimet lasketaan samaksi. Esimerkiksi sanaparin {"Upea", "Kapteeni"} muhkeus on 8, koska sanapari sisältää kirjaimet {a, e, i, k, n, p, t, u}.

Kysymys kuuluu: mikä on Alastalon salissa -kirjan muhkein sanapari, tai muhkeimmat sanaparit, jos useampi pari saa korkeimmat muhkeuspisteet? Sanojen ei tarvitse olla peräkkäin, vaan tarkoitus on löytää koko kirjan kaikista sanoista ne kaksi sanaa, jotka muodostavat muhkeimman parin.

Löydät Alastalon salissa -kirjan sähköisessä muodossa täältä.

Vinkkejä

Tämänkertainen pähkinä on paljon vaikeampi kuin edellinen. Puhtaasti brute forcella tämä ei onnistu.

Säännöt

Osallistua saa millä ohjelmointikielellä tahansa.

 

 


oikea vastaus ja voittaja

 

Pähkinäraatimme kokoontui uudelle toimistollemme perjantaina 12.07.2015 pohtimaan ratkaisuja. Koodauspähkinän suosio yllätti meidät positiivisesti 78 vastauksella. Vastauksista 13 pääsivät jatkoon, joista vielä viisi valitsimme viimeiselle kierrokselle.

Voittajaksi valikoitui Tuomo Siren eleganteimmalla 40:n rivin Python-ratkaisullaan. Palkinnoksi Tuomo sai Parrot AR. Drone 2.0 kauko-ohjattavan kopterin! Onnea!

 

Oikeassa ratkaisussa on 9 sanaparia, joilla on muhkeutta 21.

Sanaparit ovat: kirjoituspöydille vahingonkamfiilikirjoituspöydän vahingonpillastumisenkirjoituspöydän vahingonkamfiiliköydenpingottuvaa järjensyhyttelemisenvahingonpillastumisen kirjoituspöydältävahingonpillastumisen kirjoituspöydästävahingonpillastumisen keräjäpöydänkirjoituspöydältä vahingonkamfiilikirjoituspöydästä vahingonkamfiili.

 

Pähkinäraati päätti palkita myös viidestä finalistista Tatu Kilappan Wunderdogin t-paidalla, hänen uskomattoman nopeasta C++ vastauksestaan (~0.2s). Muut finalistit olivat Sami H. (Haskell), Ari P. (Clojure) ja Juho K. (Rust). Hienoa työtä!
alkitsimme myös semi-finalistit Wunderdogin lippiksillä.


Onnittelut kaikille voittajille ja kiitos kaikille osallistujille! Aurinkoista kesää!