Блог пользователя Nickolas

Автор Nickolas, 14 лет назад, По-русски

Разбор задач

Возможно, некоторые из вас уже заметили в календаре соревнований контест с интригующим названием "Первоапрельский". На английском оно звучит лучше — April Fools Day Contest, что как бы намекает на его нетипичность, несерьезность и даже некоторое ехидство. При желании можно было даже угадать автора — самого ехидного из имеющихся, то есть меня :-)

Я вообще люблю нетипичные контесты — Surprise/Unknown Language, в котором решения нужно писать на необычном языке, Time Limit Exceeded, в котором решения пишутся на обычном C, но необычным образом... Чаще всего в таких контестах раскрывается тема необычных решений. Для разнообразия я решила раскрыть дуальную тему — необычных условий.

Итак, в этом раунде вас ждет несколько необычных задач и два часа времени на их решение. Раунд будет нерейтинговым (еще бы!), и проводиться он будет по схеме ACM ICPC (без взломов, положение в результатах определяется количеством решенных задач и набранным штрафным временем). Решения можно сдавать на любом языке, поддерживаемом Codeforces — если, конечно, иное не оговорено в условии задачи :-)

Сразу предупреждаю — для успешного и радостного участия в контесте требуется чувство юмора, совместимое с моим! В конце концов, это первое апреля. Удачи!

P.S. Огромное спасибо maksay, который благородно взял на себя всю техническую подготовку контеста и без которого он, контест, просто не состоялся бы.

  • Проголосовать: нравится
  • +140
  • Проголосовать: не нравится

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Думаю, Железо победит...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Необычные условия это как в 167D, т.е. не сразу понятно, чего вообще от участника хотят?
Меня этот контест уже радует

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -9 Проголосовать: не нравится

Я заинтргован =)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Какбэ ничего, что первого апреля отключат интернет?

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

    Правильно. Anonymous ведь обещали отключить интернет всему миру, проведя атаку на 13 корневых DNS-серверов мира в знак протеста против SOPA.

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

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +10 Проголосовать: не нравится

Помню меня порадовал первоапрельский контест [user::snarknews]. Там все буквы в условиях были заменены на знаки вопроса, и я понял все шесть задач, а уж сколько сдал не помню, но 4 точно :). Отличная практика. Спасибо за подготовленный контест.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
Решения можно сдавать на любом языке, поддерживаемом Codeforces — если, конечно, иное не оговорено в условии задачи :-)

Т.е. некоторые задачи придется писать только на одном языке?

»
14 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится 0 Проголосовать: не нравится

Awesome !

Thanks.

Good luck everyone. ;)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Good luck everyone~

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

I registered for the contest and was surprised to see 'Enter' button immediately. I was able to see problems A, B and after that it gave error. Seems its corrected now.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Я думал будет что-то типа 100 контеста :)

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +27 Проголосовать: не нравится

    Конечно, можно было бы объявить, что сотня лучших участников получит именные футболки, а после контеста признаться, что это была шутка... Но это была бы какая-то неправильная и невеселая шутка.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +34 Проголосовать: не нравится

      Но можно было бы объявить, что сотня лучших участников получит именные футболки, а после контеста признаться, что это была шутка... И раздать две сотни именных футболок!

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится

где же кнопка "Мне нравиться"?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +76 Проголосовать: не нравится

Here are the tasks -> http://bit.ly/H66EsD

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

So many people want to see tasks before contest begins :)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +17 Проголосовать: не нравится

Спустя 4 часа...: "Контеста не будет! Это была шутка, с 1 апреля!" xD

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -11 Проголосовать: не нравится

You make me curious :D

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Алгоритмы!

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -16 Проголосовать: не нравится

прикольные задачи:) особенно задача F!!!

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

С и G взорвали мне мозг.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

Сейчас окажется, что это была шутка и раунд рейтинговый :D P.S. Спасибо отличный контест! Хоть и опоздал...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +20 Проголосовать: не нравится

Интересно, а что курит Nickolas?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Как решать С, G и H ?

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +2 Проголосовать: не нравится

    C: cin>>n; ll sum = 0; for (i=1;i<=n;i++) { cin>>a; sum += a * i; } cout<<sum;

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится

    G — фибоначчи-подобная последовательность, H — просто рекурсивно фрактал порядка a строится и ищется координата точки с номером b, C — это это сумма частичных сумм в суффиксах.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Спасибо за прекрасный контест!

Ждем разбор=)

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Я тупой, как решать А?
И да, спасибо за прекрасную F! Жаль, что ровно на секунду опоздал с отправкой >.<

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

какой язык был секретным?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

Стало лень думать... Хочется разбора!

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

very veRY VERY FUN CONTEST :)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Может кто объяснить 2 вещи : 1) Как на Intercal'e вывести Intercal? 2) Как прочитать условие F?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Классно получилось! +71 на F, но в конце АС.

Какой язык был под secret ?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится

I love this contest. but when I arrived the contest is almostly finished. :(

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +13 Проголосовать: не нравится

Thanks for the contest,it was great fun. I am keen to know what was the secret language and how you figured it out? reading problem C i though it could be chef but it didn't work.

Also how you solve D without brute force submitting?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -13 Проголосовать: не нравится

Horrible contest! And the author is really mean>_<

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Что за язык-то был? Я проверил си и Ook. ... Дальше понял, что бинарный поиск тут не работает :(

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

F я смог расшифровать только в английском варианте, немного нечестно :)

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Мне сразу почудилось нечто вроде шифра Цезаря, зашел на сайт СПбГУ, расшифровал :)

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Я в русском расшифровывал — было довольно очевидно, что написано в "Выходных данных", после замэппил часть букв и оставшуюся часть восстановил.

  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +3 Проголосовать: не нравится

    фювбюая — мвю

    когда я увидел первые слово — повторение заголовка (т.е, скорее всего, некоторое название), сразу подумал, что второе слово "это" ...Дальше — немного медитации над русским алфавитом — и всё становится понятно :)

  • »
    »
    14 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится 0 Проголосовать: не нравится

    Ну теоретически чтобы расшифровать, достаточно было только предположить,что используется подстановочный шифр(Отображение букв текст -шифр 1 к 1),и даже не обязательно сдвиг, и совсем не обязательно знать какую-либо часть текста. Можно посчитать частоты букв и слогов в каком нибудь нормальном тексте и в заданном шифре и заменить каждую букву в шифре на наиболее соотвествующую в тексте по частоте.

    Часто это работает даже для нескольких предложений, правда времени ушло бы полконтеста.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Вопрос про Intercal: там играло роль, в каком регистре выводится название языка?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

А, ок, увидел ответ)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Дорешка будет? ;-)

»
14 лет назад, скрыть # |
Rev. 4  
Проголосовать: нравится +8 Проголосовать: не нравится

Можно забанить турков в топе которые все как один в D выводили с первой попытки захардкожденные значения, как под копирку, да еще и почти одновременно

upd: Ах да, контест понравился :)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Классный контест! С INTERCAL вышло жестоко — по ошибке компиляции гуглится сразу, а вот вывести "INTERCAL" — задача совсем нетривиальная. 40 минут думал, что уже почти ее решил и остался только вывод :)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится
»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

A few of exotic problems. However, I like them. Thanks, Nickolas.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

This contest is very interesting.

In Problem E, we get very angry CE message: "DO YOU EXPECT ME TO FIGURE THIS OUT?", and it took me about half an hour to modify the "Hello world" into "INTERCAL".

In Problem H, it's much difficult than I think. I try to solve this by writing the code in Herbert (http://herbert.tealang.info/) then simulate it. But I can't solve it until the end of contest.

By the way, is there the editorial to this contest?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Как не криво делается H? Я написал функцию draw(k, a[][]), которая по порядку фрактала и матрице перехода рисует очередную линию и за O(b) находит нужную координату, но получил WA4. Да и выводил переходы долго, но это уже мой тупняк.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

Very Nice Contest. I think it was Something like IQ test Thank you and looking forward for another one...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +15 Проголосовать: не нравится

the best contest ever :) , thank you all

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Ешка клевая) 1. Гугл по ошибке компилинга — узнаете язык. 2. Гугл по прогопедии Николас) — узнаете как написать Hello, World! и то, что надо юзать ленту Тьюринга. 3. Вспоминаете кф раунд 96) http://mirror.codeforces.com/contest/132/problem/A и тупо копируете код генератора)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Very Nice Contest. I think it was something like IQ test. Thank you and looking forward for another one...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Really fun :D I love it :D

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Системное тестирование? Мне кажется, или нас обманывают? :D

»
14 лет назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

The real programming problem is only on problem H

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Сегодняшний контест напомнил мне про rankk.org

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Разбор в студию! Контест вообще норм, мне понравилось) Правда, несмешно было, но всё равно) Мы сегодня с утра с друзьями говорили что-то вроде: "О, сегодня шутки шутить будут на КФ, наверняка будут задачи вроде "Дан инпут, выведите аутпут" или "дфлывпралд лдфрывалдо фолдыв рфдвролдра фодвар."" Угадали, чо)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +32 Проголосовать: не нравится

In problem D it is possible to guess the input number by inserting something like:

Sleep(N * 200); // Wait for 200 * N ms

And looking into running time during wrong attempts. That should decrease the number of attempts.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

April fools contest, problem A-B-D-E-F

I liked this contest. It was very fun, and sort of practice for the strange part of ISPC.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +28 Проголосовать: не нравится

Nice tasks

A. a1 + reverse(a2)

B. 1 + 6 * a * (a — 1)

C. sum(i=1 .. a_0) i * a_(a0 — i + 1)

D. if (input == 5) print 1 else print (input % 3) + 1

E. write "INTERCAL" in the language INTERCAL (use wikipedia to find 'Hello world' program and learn how to write strings using INTERCAL)

F. finding 'an', 'a', 'the', 'number', 'output' in the text deduce the code -> task: output n-th prime number pn which reverse is also prime (and different from pn)

G. repeat { a1, a2 <- a2, a1 + a2 } a3 times, output a1

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

А можно включить дорешивание?

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

still system testing 100%, no final results ;)

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

Спасибо за контест. Получилось круто)

»
14 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +15 Проголосовать: не нравится

контест порадовал, признаться, не ожидал, что будет так круто

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

Жаль в H не было разумного семпла с нечетным первым числом...

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Заметил баг в таблице результатов:

Если во время контеста участник по какой-нибудь задаче (кроме E) отправил решение на каком-нибудь обычном языке (например, C++), но забыл изменить в чекбоксе язык программирования (при отправке) с "Secret" на "GNU C++ 4.6", то, естественно, получал Compilation Error. Когда он этот же код отправлял снова, указав "GNU C++ 4.6", и получал Accepted, то в таблице результатов появляется "+", но при наведении мышкой появляется всплывающая подсказка "Secret" вместо "GNU C++".

Например, 6 место, cmd задача F.

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Думаю, на такие контесты (и схожие с ними SLR от Nickolas) должно быть ограничение по возрасту 18 лет. Нельзя травмировать психику детей такими языками, как INTERCAL :O

»
13 лет назад, скрыть # |
 
Проголосовать: нравится +19 Проголосовать: не нравится

will there be something similar this year?