Úkol se stringy - obtížnost nicmoc / 10

Napište prográmek, který rozluští tuto jednoduchou "šifru":

    veta = "09I03M07A16N05 02A14H08D12Y01M15O06R10 04E11P13T"

Nápověda:

    veta = "04J01A02H03O"
    ...
    ...
    ...
    veta2 = "AHOJ"     #  výsledek

Jsou 4 kategorie řešení:

  1. obyčejné = vyhrává nejelegantnější, nejnázornější řešení
  2. oneliner = vyhrává nejkratší řešení bez importu
  3. oneliner import = vyhrává nejkratší řešení s import
  4. extravagantní = vyhrává nejbláznivější, nejvýstřednější řešení

Pravidla pro všechny:

Oneliners pravidla:

Oneliners import pravidla:

Tak cca za 1 měsíc (~14.července 2005) zveřejníme v zde a ve foru výsledky.

Je to jen hra, nic není závazné, vše je ve vývoji. To co zůstává je vaše zkušenost, vaše změna, vaše vědomí o svých schopnostech. Držím palce!

Hlásí se někdo do poroty?

Kdo zaslal řešení

Čísla označují časové pořadí zaslání řešení, ne výsledkovou listinu. Ta je níže:

     1. Tomix
     2. Raziel
     3. pepr
     4. ViNiL
     5. Viktor Lacina
     6. David Michal
     7. tdc - oneline
     8. Viktor Lacina - oneline
     9. Radim Novotny - oneline
    10. pepr - oneline
    11. azurIt
    12. lachtan
    13. lachtan - oneline
    14. Robert Cimrman - oneline
    15. Petr Mach
    16. asdf - oneline
    17. azurIt - extra
    18. EHP - oneline
    19. Jan Novák - oneline
    20. JP - oneline
    21. Marek Blaha - oneline
    22. Fuky - extra
    23. Fuky
    24. Petr Mach - extra
    25. gliderok
    26. gliderok - oneline import
    27. gliderok - extra
    28. slacker - oneline
    29. pepr - oneline import
    30. tdc - oneline import
    31. Jan Novák - oneline import
    32. slacker - oneline import
    33. gliderok - oneline
    34. BrutUs
    35. Scherry

Výsledky

Pro nedočkavé

Všechna řešení jsou na http://geon.wz.cz/pyhlavolam01/ . Vítězové níže.

Hodnocení

Protože se do poroty nikdo nepřihlásil hodnotil jsem sám. Kategorie oneline i oneline import objektivně, ostatní dvě subjektivně. Bude-li někdo chtít, může stvořit na webu hlasování, aby mohl každý vyjádřit svůj názor na řešení. Já bych to pak jen dal na web k výsledkům.

Celkem bylo zasláno 35 řešení, z toho jedno neprošlo sítem zadání (viz níže) a u jednoho byla udělána vyjímka (použito code= místo veta=). Odhaduji, že podobný byl počet neúspěšných (čti nezaslaných, protože nezvládnutých) řešení a když trochu přihodím :-), tak se soutěže zůčastnilo cca 100 řešitelů.

Oneline a oneline import

Posouzení těchto kategorií bylo přísně objektivní. Díky peprovi za script, který všechny tyto řešení projel, zkontroloval správnost zadání a vyzkoušel algoritmus na 100 náhodných řetězcích.

Obyčejné a extravagantní

Posuzování těchto kategorií bylo subjektivní. Prorota :-) vyzkoušela řešení navíc na jednom řetězci veta="20O21S08E01H03Z24I04K02E09 17E15 06 12P05Y19 11E23L14I16N26Y13S18Z25V10L22K07J". Vyloučeno bylo tímto způsobem 1 řešení.

V kategorii obyčejné vyhrálo to řešení, které se mi zdálo, že když se na to podívá někdo, kdo nikdy Python neviděl, že má velkou šanci na pochopení.

V kategorii extra porota zvolila to řešení, které svého času, rozpoutalo bouřlivou diskuzi v konferenci.

Pro šťouraly

Já jsem se nezůčastnil ;-) . Řešení jsem si dovolil dát na svůj web, protože mi to přišlo nejpohodlnější. Nečiním si na ně nijaký nárok a mohou být kamkoliv přesunuty.

Poděkování

Díky Tomixi, za skvělý nápad, za trefu do černého. Díky Petře, za vyhodnocovací script. Ušetřilo mi to spousty práce a zase jsem se něco přiučil ;-).

Vítězové

Ještě jsem zde měnil pravidla - vítězů může být několik, nezáleží na datumu zaslání

Obyčejné: Petr Mach
Oneline: 65: asd a Jan Novák
Oneline import: 45: Jan Novák, Slacker a Viktor Lacina
Extravagantní: azurit

Závěr

geon. Bylo mi potěšením, pánové ;-). Těším se na druhou rundu - má někdo nápad na Hlavolam02?