Перейти к содержимому

5

Ниже фрагмент кода страницы шаблона WordPress, реализующий кнопку "Добавить в ЖЖ". Пример можно посмотреть внизу этой записи, справа в ряду подобных кнопок публикации в социальных медиа.
...читать далее "Кнопка «Добавить в ЖЖ»"

3

"Добро пожаловать в Code Jam" (Welcome to Code Jam) - задача C классификационного раунда 2009 года.

Задача

Итак, вы зарегистрированы. Мы послали вам сообщение, чтобы поприветствовать вас в Code Jam. Но возможно вы все еще не чувствуете себя причастным к Code Jam. Поэтому мы решили назвать задачу "Добро пожаловать в Code Jam". Надеемся, что после решения этой задачи вы наверняка почувствуете себя полноправным участником. По-настоящему поприветствованным участником Code Jam.

Если вы прочитали предыдущий параграф, возможно вы недоумеваете, к чему это он. Но если вы прочитаете его тщательно, вы сможете заметить, что мы написали слова "Добро пожаловать в Code Jam" ("Welcome to Code Jam" на английском, языке оригинала задачи, и число вхождений указано именно для этого языка - прим. перев.) несколько раз, 400263727 раз суммарно. В конце концов, легко пробежаться по предыдущему параграфу и отыскать букву 'w', затем отыскать буву 'e' далее по тексту, затем отыскать после этого букву 'l', и так далее. Ваша задача - написать программу, принимающую на вход любой текст и выводящую сколько именно раз этот текст содержит фразу "welcome to code jam".

Более точно, по данной строке текста, вы находите, сколько именно раз строка "welcome to code jam" входит как подпоследовательность в данную строку. Другими словами, найти последовательность s увеличивающихся индексов входной строки, такую, что конкатенация input[s[0]], input[s[1]], ..., input[s[18]] образует строку "welcome to code jam".

Результат вашего вычисления может быть огромным числом, поэтому, для удобства, мы требуем от вас найти только последние 4 цифры.
...читать далее "Добро пожаловать в Code Jam"

2

Водоразделы (Watersheds) - Задача B квалификационного раунда Google Code Jam 2009.

Задача

Геологи делят поверхность земли на различные области в зависимости от того, куда стекают выпадающие осадки. Эти области называются водосборными бассейнами.

По заданной карте высот (двумерный массив), разметьте карту так, чтобы области из одного водосборного бассейна имели одну и ту же метку, следуя следующим правилам.

  • Для каждой ячейки вода стекает не более, чем в одну из четырех соседних ячеек.
  • Для каждой ячейки, у которой ни одна из четырех соседних ячеек не имеет меньшей высоты, вода никуда не утекает. Такая ячейка называется низиной.
  • В противном случае, вода утекает из ячейки в соседнюю с минимальной высотой.
  • В случае, если несколько соседних ячеек имеют одну и ту же минимальную высоту, вода течет по первому возможному направлению из следующего списка: север, запад, восток, юг.

Каждая ячейка, стекающая, прямо или косвенно, в одну и туже низину, принадлежит к одному водосборному бассейну. Каждый бассейн помечается уникальной строчной буквой таким образом, что строки карты, будучи соединенными в одну большую сверху вниз, образующаяся строка является лексикографически наименьшей из всех возможных. (В частности, бассейн самой северо-западной ячейки помечается 'a'.)
...читать далее "Водоразделы"

4

"Язык пришельцев" (Alien Language) - Задача А предварительного раунда Google Code Jam 2009.

Задача

После многих лет исследований, ученые в Google Labs обнаружили передачу на языке пришельцев, идущую с далекой планеты. Язык пришельцев уникален в том, что каждое слово состоит ровно L строчных букв. Также в этом языке ровно D слов.

После составления словаря всех слов языка пришельцев, следующим откытием было обнаружение того, что пришельцы передавали сообщения на Землю в течении последнего десятилетия. К сожалению, их сигналы были ослаблены расстоянием между нашими планетами и некоторые слова могут быть неправильно синтерпретированными. В качестве помощи в раскодировании этих сообщений, ученые просят вас разработать алгоритм, определяющий число возможных интерпретаций для заданного шаблона.

Шаблон состоит ровно из L токенов. Каждый токен является либо одной строчной буквой (и ученые уверены, что это именно та буква), либо группой различных строчных букв, заключенной в скобки ( и ). Например: (ab)d(dc) означает, что первая буква или a, или b, вторая буква точно d, а последняя буква либо d, либо c. Таким образом шаблон (ab)d(dc) соответствует одному из этих четырех возможных: add, adc, bdd, bdc.
...читать далее "Язык пришельцев"

4

15 октября 1956 г. был опубликовано первое справочное руководство по Фортрану, первому языку программирования высокого уровня.
...читать далее "15 октября 1956"

1

При установке порта FreeBSD google-perftools можно сразу ставить и gv и graphviz, необходимые для визуализации графов зависимостей вызовов функций (первый содержит gv, второй - dot), но которые не прописаны в конфиге и не указаны в качестве зависимостей порта google-perftools.

2

Фикс, исправляющий кэширование в прокси-модуле Apache 1.3.41:
...читать далее "Фикс для Apache 1.3.41"

Почему-то последняя версия GD::Graph (1.44) при отрисовке двушкальных графиков, когда выводится два массива данных на одном графике, но с разными шкалами, решает править интервалы граничных значений для наборов данных, передаваемых в y1_max_value, y1_min_value и y2_max_value, y2_min_value. Чтобы отучить её так делать достаточно в 1603 строке в GD::Graph::axestype заменить


if ($self->{two_axes})

на


if (0)

4

Продолжая переход на FreeBSD-7.1-BETA, обнаружил, что перестала создаваться документация, созданная при помощи DOCBOOK. Причина оказалась в том, что configure перестал находить скриптик collateindex.pl, используемый для построения индекса.
...читать далее "В поисках collateindex.pl"

1

Из серии стуков в подвале: если у вас вдруг перловый скрипт начинает ругатся следующим образом


install_driver(Pg) failed: Can't locate version/vpp.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at (eval 781) line 2.
BEGIN failed--compilation aborted at (eval 781) line 2.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.8/mach/DBD/Pg.pm line 20.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/mach/DBD/Pg.pm line 20.
Compilation failed in require at (eval 779) line 3.
Perhaps a module that DBD::Pg requires hasn't been fully installed

...читать далее "Can’t locate version/vpp.pm"