GCJ2009 Qual
Friday, 4 September 2009 15:36Qualification round Google Code Jam`a оказался тупым до чрезвычайности. Я чересчур сильно стремался, как оказалось. Решил все три задачи... собственно, их сложно было не решить:
Первая — чисто для отсева случайно зарегившихся :) Большая часть решала ее буквально, парсила ввод, делила его на токены внутри и за пределами скобок, и проходила по словарю, пытаясь найти совпадение. Знакомые школьники на этом падали, баг можно и допустить, запутавшись в этих проходах (впрочем, можно и не на этом, баг
morozil_nik был эпохальным). Меньшая часть, в том числе ваш покорный слуга, просто заменили во входной строке круглые скобки на квадратные соответственно, тем самым получили корректный регексп и быстренько проверили словарь на матчи. *кстати, спасибо c# за это*
Вторая — тупая с претензией на сложность. Здесь уже маху дал я, написав большой БФС по всем правилам красивого кодирования на 150 строк в сумме) В итоге то, что получилось, работает, выглядит изящно и "Ынтырпрайзно", но недоступно для прочтения с ходу никому) В то время как хватило бы спокойно и ДФСа на 50 с хвостиком строчек и не выпендриваться, как, собственно, и сделал умный
a_maksay.
Третья — тупая, но для тех, кто хоть немножко занимался алгоритмистикой. Проверяет простейшую динамику и знание китайской теоремы об остатках — проще говоря, вычисления по модулю. Я не заморачивался, и написал короткий код для решения количества выборок в общем случае для двух произвольных строк, а потом подставил их пресловутое "welcome to code jam". Некоторые соорудили конкретную динамику для данного частного специфического случая. К примеру, подобный код можно найти у
mag_ila. Оно, конечно, работает капельку быстрее, но читать подобный исходник, имхо, это просто трындец.
Резюмируя: пока что держусь. Как по мне, ненадолго. 1 и 2 раунды будут уже серьезнее в плане отсева народа. Гуглу лентяи не нужны как-никак =) Но через неделю посмотрим, что там будет-с.
Первая — чисто для отсева случайно зарегившихся :) Большая часть решала ее буквально, парсила ввод, делила его на токены внутри и за пределами скобок, и проходила по словарю, пытаясь найти совпадение. Знакомые школьники на этом падали, баг можно и допустить, запутавшись в этих проходах (впрочем, можно и не на этом, баг
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Вторая — тупая с претензией на сложность. Здесь уже маху дал я, написав большой БФС по всем правилам красивого кодирования на 150 строк в сумме) В итоге то, что получилось, работает, выглядит изящно и "Ынтырпрайзно", но недоступно для прочтения с ходу никому) В то время как хватило бы спокойно и ДФСа на 50 с хвостиком строчек и не выпендриваться, как, собственно, и сделал умный
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Третья — тупая, но для тех, кто хоть немножко занимался алгоритмистикой. Проверяет простейшую динамику и знание китайской теоремы об остатках — проще говоря, вычисления по модулю. Я не заморачивался, и написал короткий код для решения количества выборок в общем случае для двух произвольных строк, а потом подставил их пресловутое "welcome to code jam". Некоторые соорудили конкретную динамику для данного частного специфического случая. К примеру, подобный код можно найти у
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Резюмируя: пока что держусь. Как по мне, ненадолго. 1 и 2 раунды будут уже серьезнее в плане отсева народа. Гуглу лентяи не нужны как-никак =) Но через неделю посмотрим, что там будет-с.