Благодаря инициативе группы пользователей из Ирана, на Codeforces в субботу, 30-го июля в 10:00 по Москве
состоится Unknown Language Round #3. Если коротко — это оригинальная форма спортивно-программистского развлечения, впервые предложенная мной в феврале этого года. Чуть подробнее можно прочитать здесь.
C началом соревнования вам предлагается набор задач и всего один язык программирования. Этот язык держится в строжайшем секрете до начала контеста. Мы предполагаем, что практически всем участникам он будет в новинку. Таким образом, за три часа рабочего времени вам предстоит соревноваться в программировании на неизвестном языке. Задачи различаются по сложности от совсем простых (пример) до довольно сложных (пример). Упор делается на задачи, требующие технику программирования, а не умение придумывать эффективные алгоритмы.
На предыдущих раундах мы задействовали языки Tcl и Io. Было весело!
Вот, например, решение китайского пользователя watashi, решившего эту задачу за примерно 50 минут и написавшего такой компактный код на незнакомом языке Io:
ini := Map clone
section := ""
ini atPut(section, Map clone)
n := File standardInput readLine asNumber
File standardInput readLines foreach(line,
line = line asMutable strip
if (line containsSeq(";"), continue)
if (line containsSeq("["),
section = line strip("[") strip("]") strip
ini atIfAbsentPut(section, Map clone),
kv := line split("=")
key := kv at(0) asMutable strip
value := kv at(1) asMutable strip
ini at(section) atPut(key, value)
)
)
ini keys sort foreach(section,
if (section size > 0, ("[" .. section .. "]") println)
subini := ini at(section)
subini keys sort foreach(key,
value = subini at(key)
(key .. "=" .. value) println
)
)
Приглашаю приобщиться к этому веселому мероприятию, приняв в нем участие.
Cсылки по теме: