Nickolas's blog

By Nickolas, 8 years ago, translation, In English

The contest is over; I hope you've enjoyed it :-) Editorial is here.


The fifth April Fools Day Contest will take place on Friday March 31st. This is a joke competition in which solving the problem is often easier than figuring out what the actual task is. Thanks to kit1980 and Codeforces team for their help in preparing problems!

In this round you'll be given 7 weird problems and 2 hours to solve them. The contest will use ACM ICPC rules (no hacks, the standings are decided by the number of solved problems and penalty time earned on them), and it will be unrated. You can submit solutions in any language allowed by Codeforces. To get an idea of what the contest will look like, you can check out the contests of the past years: 2012, 2013, 2014, 2016.

Be warned, to enjoy competing in this round you'll need a sense of humor compatible with mine! Good luck, and have fun!

Announcement of April Fools Contest 2017
  • Vote: I like it
  • +374
  • Vote: I do not like it

| Write comment?
»
8 years ago, # |
  Vote: I like it +6 Vote: I do not like it

Any plans for another Surprise Language Round?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +16 Vote: I do not like it

    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.

»
8 years ago, # |
  Vote: I like it +110 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    yea it is good idea. some participant try slowly or not with "heart". but in my opinion rate is not important for programmer.

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +28 Vote: I do not like it

      Yeah, contribution is the most important. That's for sure.

»
8 years ago, # |
  Vote: I like it +11 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +19 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +17 Vote: I do not like it

    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".

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +4 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it -7 Vote: I do not like it

It overlaps with Catalyst Coding Contest :(

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +17 Vote: I do not like it

    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 :-)

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it -19 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it -43 Vote: I do not like it

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +144 Vote: I do not like it

    If you don't like it, your sense of humor is simply incompatible with my

»
8 years ago, # |
  Vote: I like it +31 Vote: I do not like it

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

»
8 years ago, # |
Rev. 2   Vote: I like it +40 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +6 Vote: I do not like it

There was no fun in 2015..

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Hope the problems will not be fools XD

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +19 Vote: I do not like it

    People have tried that kind of joke in 2015 when I didn't do the real contest. Personally I prefer more elaborate jokes :-)

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +14 Vote: I do not like it

      i think you commented almost the same comment last year too! XD i prefer new jokes! ;P !

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it +11 Vote: I do not like it

        The jokes (as in tasks) will be new, but this comment is serious, and I still feel the same way about announcing non-existent contests as I felt a year or two ago :-)

»
8 years ago, # |
Rev. 2   Vote: I like it -10 Vote: I do not like it

...

»
8 years ago, # |
  Vote: I like it +32 Vote: I do not like it

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! :)

»
8 years ago, # |
  Vote: I like it +19 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +21 Vote: I do not like it

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.

»
8 years ago, # |
  Vote: I like it -20 Vote: I do not like it

why unrated ?:(

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Just wanted to ask the same thing

    Edit: "Results unsatisfactory, try harder"

»
8 years ago, # |
  Vote: I like it +70 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +51 Vote: I do not like it

I am become brute force, destroyer of problems.

»
8 years ago, # |
  Vote: I like it +109 Vote: I do not like it

How look happiness

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

What are you supposed to do in F?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    Spend more than one second for each test.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You must consume more than 1 seconds

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I guess, that get time consumed > 1s.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +12 Vote: I do not like it

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

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +5 Vote: I do not like it

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

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

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

        • »
          »
          »
          »
          »
          8 years ago, # ^ |
            Vote: I like it +4 Vote: I do not like it

          Got it. Thanks.

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

        • »
          »
          »
          »
          »
          8 years ago, # ^ |
            Vote: I like it +45 Vote: I do not like it

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

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it +5 Vote: I do not like it

        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.

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it +22 Vote: I do not like it

        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.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Time run > 1 second

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

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

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +8 Vote: I do not like it

      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.

»
8 years ago, # |
  Vote: I like it +2 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +10 Vote: I do not like it

    Joke numbers in OEIS

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +15 Vote: I do not like it

    You aren't stupid its ok: https://oeis.org/A006753

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    google the title of the problem

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Search "joke" on OEIS website.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    After submit many times, (about 40), I got the result for 1, 2, 3 is 4, 22, 27. Search that on OEIS, you can find a sequence called Smith (or joke numbers): https://oeis.org/A006753.

    I guess search joke numbers in google is much faster! :(

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Bruteforce the first few values: 4,22,27... then search for a sequence in OEIS that starts with them :D

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Many people solved it with first attempt, without bruteforcing. Can you explain this? :)

    • »
      »
      »
      8 years ago, # ^ |
      Rev. 2   Vote: I like it 0 Vote: I do not like it

      You can search "_,_,27 joke" instead of brute-forcing :)

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it -7 Vote: I do not like it

        "*Insert legend 27 joke used more than the internet* — 9GAG"

        "27 Times The "Hamilton" Fandom Had Jokes — BuzzFeed"

        "The single best joke told by every president, from Obama to Washington"

        Other search results are about equally helpful. How about no.

        • »
          »
          »
          »
          »
          8 years ago, # ^ |
            Vote: I like it +30 Vote: I do not like it

          I should make my comment clearer :). You should search it on OEIS. The "_" is called wild card and it can replace any number.

          Capture.JPG

»
8 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Explain me A, please.

»
8 years ago, # |
  Vote: I like it +3 Vote: I do not like it

how do you solve A?

»
8 years ago, # |
  Vote: I like it +27 Vote: I do not like it

Are the problems related to the chinese culture?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

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

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +2 Vote: I do not like it

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

»
8 years ago, # |
Rev. 2   Vote: I like it +120 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +24 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it -7 Vote: I do not like it

So many rejections tonight...

It hurts :(

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +30 Vote: I do not like it

    swap(or, xor)

  • »
    »
    8 years ago, # ^ |
    Rev. 2   Vote: I like it +69 Vote: I do not like it

    binary search

    Spoiler
  • »
    »
    8 years ago, # ^ |
      Vote: I like it +32 Vote: I do not like it

    For B, count number of holes in hexadecimal representation. It comes from popular problem where you have to count number of holes in decimal.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Interchange xor and or operations

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Check all variants of and, or , xor in scheme.

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

How to solve E ?

»
8 years ago, # |
  Vote: I like it +5 Vote: I do not like it

I still can't believe I got B :D

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

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

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +55 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it +42 Vote: I do not like it

How to solve D?

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +4 Vote: I do not like it

    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"

  • »
    »
    8 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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.

»
8 years ago, # |
  Vote: I like it +49 Vote: I do not like it

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"?

  • »
    »
    8 years ago, # ^ |
    Rev. 2   Vote: I like it +1 Vote: I do not like it

    See name of the problem?

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      And what does it give? Because I don't get it.

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Crunching Numbers — "What people pretend to do all day at work whilst daydreaming about things that will never happen."

        • »
          »
          »
          »
          »
          8 years ago, # ^ |
            Vote: I like it +23 Vote: I do not like it

          But it looks like it does not always mean necessarily doing useless work, it may mean doing legitimate math or some calculation.

»
8 years ago, # |
  Vote: I like it +45 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    WWWWWWWWHHHHHHHHHHAAAAAAAAAAATTTTTTTTTT????????????

  • »
    »
    8 years ago, # ^ |
    Rev. 4   Vote: I like it +18 Vote: I do not like it

    wow, and 64 people solved it. How is it possible? And how are chinese participants connected with it? (28/37 participants from top-37, that solved D, are chinese)

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      Are they blind programmers? :D (just joking)

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it +14 Vote: I do not like it

      I think in this case the name "touchy-feely" is an appropriate hint to solve the problem.

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I read statement and title in russian and it was closer to the meaning "sensitive".

»
8 years ago, # |
Rev. 6   Vote: I like it +110 Vote: I do not like it

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 '-'.

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +10 Vote: I do not like it

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

    • »
      »
      »
      8 years ago, # ^ |
      Rev. 4   Vote: I like it +10 Vote: I do not like it

      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.

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

How did you come up with the solution of B?

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +23 Vote: I do not like it

    The problem statement was somewhat similar to this image which was once went viral on facebook.

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      How did the 'hex' come up? Any hints in the Problem? Apart from guesses

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it +17 Vote: I do not like it

        It's not just any kid, it's a programmer's kid! Their parents would teach them the nicer bases as well.

      • »
        »
        »
        »
        8 years ago, # ^ |
          Vote: I like it +11 Vote: I do not like it

        'Programmer's kid'.

    • »
      »
      »
      8 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      2 :-)

»
8 years ago, # |
  Vote: I like it +25 Vote: I do not like it

When can we upsolve?

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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.

»
8 years ago, # |
Rev. 2   Vote: I like it +52 Vote: I do not like it

The real programmers' kid:

»
8 years ago, # |
  Vote: I like it +14 Vote: I do not like it

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

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

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 :'(

»
8 years ago, # |
  Vote: I like it -23 Vote: I do not like it

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

  • »
    »
    8 years ago, # ^ |
      Vote: I like it +12 Vote: I do not like it

    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.

»
8 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

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.

»
8 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Any tutorials ?