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

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

Контест окончен, надеюсь, вам понравилось :-) Разбор задач — здесь.


В пятницу 31 марта состоится пятый Первоапрельский контест — несерьезное соревнование, в котором решить задачу зачастую проще, чем догадаться, что же в ней надо сделать. В его подготовке мне помогал kit1980, а также команда Codeforces.

В этом раунде вас ждет 7 необычных задач, на решение которых дается два часа. Раунд будет проводиться по схеме ACM ICPC (без взломов, положение в результатах определяется количеством решенных задач и набранным штрафным временем) и будет нерейтинговым. Решения можно сдавать на любом языке, поддерживаемом Codeforces. Чтобы получить представление о том, что вас ждет, можно взглянуть на контесты прошлых лет: 2012, 2013, 2014, 2016.

Как обычно, чувство юмора, совместимое с моим, является необходимым условием для успешного участия. Удачи!

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

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

Any plans for another Surprise Language Round?

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

    Not for another Surprise Language Round by me, not in the next few months — I already have too many contests to prepare :-) But VK Cup Wildcard 1 next week is usually an Surprise Language Round, and there is a mirror for non-VK Cup participants.

»
7 лет назад, # |
  Проголосовать: нравится +110 Проголосовать: не нравится

I sincerely hope they dont announce it to be a rated round after it has ended as a April fool's prank xD

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

I think my sense of humor is compatible with yours. I hope I will win again this year :)

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

"April" fools on "March" 31st. Good.

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

    The contest will be hosted on March 31 to ensure us that they won't switch it into a rated one making use of "April fools".

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

    It is on April 1st (right at midnight, even) in my timezone. So I can say this is a true April Fools contest.

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

Would "it will be unrated" be an April fool :D

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

It overlaps with Catalyst Coding Contest :(

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

    These days it's pretty much impossible to schedule a contest on or near weekend without it overlapping with something. I, for one, would love to have April Fools contest on the actual April 1st :-)

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится -19 Проголосовать: не нравится

      Round on March 31st sounds fishy maybe because round can become rated on April 1st. :P

»
7 лет назад, # |
  Проголосовать: нравится -43 Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +31 Проголосовать: не нравится

I want my rate to be changed to 3600 as an april fool!

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

After round #407 it seems like April fools' joke is the only way for me to get into div1...

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

There was no fun in 2015..

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

Hope the problems will not be fools XD

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

is there a contest really ?(:funny,,maybe it is just a joke.

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

...

»
7 лет назад, # |
  Проголосовать: нравится -48 Проголосовать: не нравится

Бесполезная трата времени. Не рекомендую

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

Keeping all jokes aside we should thank Nickolas who took time and effort and made this contest! This is my first April fool's contest and I wish I get to see amazing questions! :)

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

I hope this contest will be as crazy as last year's.

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

Waited a year to participate in this unique contest and it overlaps with my office timing. Anyways, I will try to participate it in the middle or will just try to solve the problems after the contest.

»
7 лет назад, # |
  Проголосовать: нравится -15 Проголосовать: не нравится

Why unrated ?:(

»
7 лет назад, # |
  Проголосовать: нравится -20 Проголосовать: не нравится

why unrated ?:(

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

It is giving "rejected on test 1" in problem F. Crunching Numbers Just for You. What does that mean ?

»
7 лет назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

Чет не очень чувство юмора. Лучше бы ребусный контест сделали.

»
7 лет назад, # |
  Проголосовать: нравится +70 Проголосовать: не нравится

Will the contest be un-(unrated) because of the issue in G? :D

»
7 лет назад, # |
  Проголосовать: нравится +51 Проголосовать: не нравится

I am become brute force, destroyer of problems.

»
7 лет назад, # |
  Проголосовать: нравится +109 Проголосовать: не нравится

How look happiness

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

What are you supposed to do in F?

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

    Spend more than one second for each test.

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

    You must consume more than 1 seconds

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

    Make your code take more than 1 second (try harder!)

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

    I guess, that get time consumed > 1s.

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

    Make your program run long enough (I think > 1 second)

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

    In Vietnamese we have a term for it "Chạy quá nhanh" (program runs too fast).

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

      I don't get it. Why customer would request your program to run slow?

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

        The words "Crunching Numbers" is an Idiom in English, I think it is "fake hard work"

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

          Got it. Thanks.

          It's seem that I'm not as humorous as the problem setter tonight.

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

          Reminded me with the Windows troubleshooter, it works for few seconds then tell you "Windows could not solve the problem automatically"

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

        Imagine you are in a website, if your program runs too fast you may not even notice the website did something, so it may be better usability to delay the results a little to make the illusion that your program did something.

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

        I heard websites that search for airfare tickets (like the problem) do intentionally make search results slow; that way people think they are doing their very best to search the cheapest, best fares.

        I also heard that they could do the job quickly, so I assumed that means they just slept for a few seconds before displaying the results. Which my submissions did, several times. Apparently you need to work, not just sleep.

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

    Time run > 1 second

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

    I tried to make the program run slower, but failed :p

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

      If you were using Java, Thread.sleep will just make your program idle and will not take up any time on the CPU. Thus, your program's calculated runtime will still be small although the real time was low. You may get an "idleness limit exceeded" from the system because your program may be idle for too long if you slept for too much.

      Instead, loop until System.currentTimeMillis() is large enough so you know your program has been running for over a second.

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

Ok I'm stupid. How to solve A? ;-;

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

Explain me A, please.

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

how do you solve A?

»
7 лет назад, # |
  Проголосовать: нравится +27 Проголосовать: не нравится

Are the problems related to the chinese culture?

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

    Er...I'm a Chinese but I did not find something about it (but I only solved a few questions...)Maybe.....QwQ

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

      It was a joke, mainly because in top 20 there are like 17 chinese people.

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

I wrote Bogosort for F but unfortunately it worked too fast.

»
7 лет назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится

How to solve E? I solved with bruteforce but some people got AC with only one try.....

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

    The three gates are and, or, xor. Enumerate which corresponds to which :-)

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

So many rejections tonight...

It hurts :(

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

How to solve E? I did all according to scheme, but it didn't work, so I just guessed all the tests. And how to solve B?

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

How to solve E ?

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

I still can't believe I got B :D

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

    Could you tell me how solve B? Or give any hint.

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

      You had to count the number of holes (gaps inside the numbers) in hexadecimal representation. (8 has 2 gaps, F has 0 for example)

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

Второй год подряд первая задача одинаковая... интересно, я один первой попыткой выводил 30-n вместо 3^n?

Понравилась только задача F и, немного, G, но это лишь из-за моего незнания языка программирования и того, что постоянно приходилось узнавать о нем что-то новое, и придумывать, как избавится от очередной проблемы.

Про задачи B-D ничего не скажу, так как не решил их.

»
7 лет назад, # |
  Проголосовать: нравится +55 Проголосовать: не нравится

Those who couldn't solve any problem, don't get upset! maybe you are not a fool!

»
7 лет назад, # |
  Проголосовать: нравится +42 Проголосовать: не нравится

How to solve D?

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

I noticed that the statement in C are compile error in INTERCAL. Then what next?

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

    You should find wrong words in error and join it in the one statement, which will be: "Find xor of the max and last number of the array"

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

    In each line there is on incorrect word. These words give you the statement

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

Oh fuck. I'd only solved E ,for its transposed XOR and OR. Who solved F? i only got a rejection by using sort in STL.

»
7 лет назад, # |
  Проголосовать: нравится +49 Проголосовать: не нравится

This contest has the lowest quality comparing to previous years 4.1 Contest. I doubt there's anyway to solve some problems without looking at others submissions. For example, in problem F, how can I extract enough information from judge's response "try harder"?

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

А может мне кто-нибудь объяснить как возможно решить подобные задачи с первого раза как это делают люди с первой страницы результатов? P.S.: Задача А зашла со 118 раза — счастью не было предела. :) UPD: Имеются ввиду не только задачи А.

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

    Просто в прошлом году задача А была аналогичной. Тоже нужно было найти последовательность по названию задачи.

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

      Логика составителей: не участвовал год назад, — извини, чувак, в следующем году тогда решишь A.

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

Как решить первую задачу с 100+ попыток? Имею ввиду, как нужно мыслить: в частности, хочу узнать как мыслили конкретные люди и как они в итоге пришли к решению.

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

    Увы, просто нужно было знать о существовании такого подмножества "шуточных" чисел. Лично я не знал, перепробовал все варианты, аля a^3, 3^a, a^a, 30-a, 24+a... Под конец совсем отчаялся и начал пробивать тесты — выяснил, что второй тест — вход: 1, ответ: 4, — совсем сбился с толку.

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

    Поясню: подбором отгадывал входные тесты и ответы к ним. Так, первый тест мне известен и он совпал с системными тестами — хорошо. Сначала угадывал ответ на 2-й тест, затем входные данные для него, затем ответ на 3-й тест, затем его входные данные и хотел уже продолжать дальше, но имея ответы для первых трёх тестов (a = 3, 1, 2) в Google таки вышел на последовательность из задачи.

»
7 лет назад, # |
  Проголосовать: нравится +45 Проголосовать: не нравится

WTF??????????????????? using BRAILLE to solve D????????????????????

»
7 лет назад, # |
Rev. 6   Проголосовать: нравится +110 Проголосовать: не нравится

After discussing my solutions with Chortos-2 and from this thread, I think we got all solutions. Here is the summary:

A. Joke numbers.

B. Number of holes in hexadecimal notation.

C. Every line is an INTERCAL compile error with a single word changes. Changed words form "FIND XOR OF LARGEST AND LAST ARRAY ELEMENTS".

D. Is the number palindrome in Braille?

E. Swap OR and XOR gates.

F. Make your sort work long enough.

H. Many solutions, one approach to split by digits, get the byte value to digit + 48 with '+', output it with '.' and reduce it back to 0 with '-'.

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

    It's simplier to switch to another cart position in G with a single ">" instead of writing thousands of "-" to reduce it to 0.

    • »
      »
      »
      7 лет назад, # ^ |
      Rev. 4   Проголосовать: нравится +10 Проголосовать: не нравится

      We don’t need to reduce the value to zero though. The next digit only ever differs from the previous one by at most 9, so each digit needs at most 9 pluses or at most 9 minuses and a single dot.

      If we started each digit from scratch like you propose, we would need at least 48 pluses per digit to get from zero to the ASCII code range for digits.

      Edit: oh, I see eduardische phrased it that way. Yeah, we don’t need to use 48+ minuses to go back to literal zero; but we don’t need to switch cells either. Just use enough pluses or minuses to modify the current value into the value for the next digit.

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

All right D is braille......Maybe I'm a fool....I stayed up in my country to take part in this contest....but I may not solve even one problem without other's hint.....(my English is not very good,forgive me)QWQ

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

How did you come up with the solution of B?

»
7 лет назад, # |
  Проголосовать: нравится +25 Проголосовать: не нравится

When can we upsolve?

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

For the problem D I even googled the word "touchy-feely" and I thought the problem really related to the other meaning of that word :p.

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

The real programmers' kid:

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

А когда примерно будет разбор??

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

There should be more of these contests :-P.. Hopefully if this comment could get enough upvotes there'd be more ;-)..

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

I must have been born with a fake brain....

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

They said this was not a joke. I thought it was joke. I cout << "What the...."; for problem G and I Accepted. After that, WA :'(

»
7 лет назад, # |
  Проголосовать: нравится -23 Проголосовать: не нравится

can someone really give me a quick-tip to improve my rating? plz... i wanna defeat my bro in this...

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

    Upsolve the problems after every single contest and improve dynamic programming by regular practice. You can even become RED with this technique.

    P.S. I don't upsolve as I am a bit lazy.

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

I get it that explaining a joke usually kills it, but maybe we can get at least some little hints? Like "Google" in case of task A? Edit: Nevermind, reading comments here might actually help.

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

Any tutorials ?