Po drátě 1: Řešení úlohy č.10

Asi nejtěžší úloha naší soutěže. Dodaný program je v principu správně, akorát pravděpodobně nedoběhne do konce našeho vesmíru. Škoda. Po prokousání se poněkud zběsilými výpočty zjistíte, že program hledá text složený ze slov ve slovníku, který po napsání na tlačítkách telefonu (2=ABC, 3=DEF, 4=GHI, 5=JKL, 6=MNO, 7=PQRS, 8=TUV, 9=WXYZ) dá příslušné číslo. Navíc se hledá text, který má co nejméně slov. Když toto zjistíte, stačí jen implementovat hledání efektivněji (je třeba si dávat i trochu pozor, pokud vyhovuje více textů se stejným počtem slov). Výsledek této úlohy je
7a9108a8d87e3b3b273f5a1294b7628a

Jen pro zajímavost heslo před md5 sumem je:

gd shaved evenly ame with cardin silence seriously pud shena melan wrested moth
flagged granite jeane dig prajna gag orth gpa roxane gazed cutie drawing edge
meggs pigmy alack ambur jeeves biotic twa root yetti dragone jove fretted ghq
heart silently gm adrea orifice ann dung goad verger debugger waste dandy
within gur knopf armyn graveclothes giving med condor newby ame rosewood gerard
aviv gatha dado turn mig motte reproach dulcea goto forme wet veda sidra
crosstie threadbare aude deifies cytherea gahl dear bisect sweet motif scythe
welled dun iceberg deg goth eringo dacy cofsky lindi elda dull g redon assn
elis thea amy jody gite chinch berton dads hedger deathbed gold hogtie green
sluggish agley gib grieg ceto rouse ponies potting livesay dg trod jove
groaning tonguing bisons dogsbody herbie goblin dung adi must git eyot aphis ta
mead exon perch showa petie secondhand breeks thew dhu well enough stephen
answer edge doled dig prawns neatly ame with stroking pal prodding erred luther
month skim

a můžete si i stáhnout naše vzorové řešení. To využívá techniky zvaná dynamické programování - více si můžete přečíst na stránkách KSP, kde podobná úloha před časem proběhla.