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!
Any plans for another Surprise Language Round?
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.
I sincerely hope they dont announce it to be a rated round after it has ended as a April fool's prank xD
yea it is good idea. some participant try slowly or not with "heart". but in my opinion rate is not important for programmer.
Yeah, contribution is the most important. That's for sure.
I think my sense of humor is compatible with yours. I hope I will win again this year :)
"April" fools on "March" 31st. Good.
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".
It is on April 1st (right at midnight, even) in my timezone. So I can say this is a true April Fools contest.
Would "it will be unrated" be an April fool :D
It overlaps with Catalyst Coding Contest :(
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 :-)
Round on March 31st sounds fishy maybe because round can become rated on April 1st. :P
If you don't like it, your sense of humor is simply incompatible with my
I want my rate to be changed to 3600 as an april fool!
and multiplied to 0
After round #407 it seems like April fools' joke is the only way for me to get into div1...
There was no fun in 2015..
Hope the problems will not be fools XD
is there a contest really ?(:funny,,maybe it is just a joke.
People have tried that kind of joke in 2015 when I didn't do the real contest. Personally I prefer more elaborate jokes :-)
i think you commented almost the same comment last year too! XD i prefer new jokes! ;P !
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 :-)
Sorry if offended you Nickolas.:D I was just kidding and I agree with your thaughts.
...
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! :)
I hope this contest will be as crazy as last year's.
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.
why unrated ?:(
Because this type of statement. :P
got it :D
It is giving "rejected on test 1" in problem F. Crunching Numbers Just for You. What does that mean ?
Just wanted to ask the same thing
Edit: "Results unsatisfactory, try harder"
output it more politely
Will the contest be un-(unrated) because of the issue in G? :D
Read the blog post carefully !! It's already unrated
read the above comment carefully :D
OOps!! Sorry
I am become brute force, destroyer of problems.
I am also! :p
How look happiness
which question?
I feel you. 30 seconds to go.
What are you supposed to do in F?
Spend more than one second for each test.
You must consume more than 1 seconds
Make your code take more than 1 second (try harder!)
I literally tried "harder"
Me too.
I guess, that get time consumed > 1s.
Make your program run long enough (I think > 1 second)
In Vietnamese we have a term for it "Chạy quá nhanh" (program runs too fast).
I don't get it. Why customer would request your program to run slow?
The words "Crunching Numbers" is an Idiom in English, I think it is "fake hard work"
Got it. Thanks.
It's seem that I'm not as humorous as the problem setter tonight.
Reminded me with the Windows troubleshooter, it works for few seconds then tell you "Windows could not solve the problem automatically"
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.
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.
Time run > 1 second
I tried to make the program run slower, but failed :p
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.
Ok I'm stupid. How to solve A? ;-;
Joke numbers in OEIS
You aren't stupid its ok: https://oeis.org/A006753
google the title of the problem
Search "joke" on OEIS website.
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! :(
Bruteforce the first few values: 4,22,27... then search for a sequence in OEIS that starts with them :D
Many people solved it with first attempt, without bruteforcing. Can you explain this? :)
You can search "_,_,27 joke" instead of brute-forcing :)
"*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.
I should make my comment clearer :). You should search it on OEIS. The "_" is called wild card and it can replace any number.
Oh. That's useful.
Explain me A, please.
http://oeis.org/A006753
search for Smith number in wikipedia for more explanation
how do you solve A?
http://oeis.org/A006753 there it is :-P index is the input . sequence is result
Are the problems related to the chinese culture?
Er...I'm a Chinese but I did not find something about it (but I only solved a few questions...)Maybe.....QwQ
It was a joke, mainly because in top 20 there are like 17 chinese people.
I wrote Bogosort for F but unfortunately it worked too fast.
same here :(
haha....As a fresh man,I didn't realized it must use clock() until my friends told me that.....
What the hell is Bogosort :O
https://en.wikipedia.org/wiki/Bogosort
Generate random permutations until one of them turns out to be a sorted list. Very much in spirit of the day :-)
How to solve E? I solved with bruteforce but some people got AC with only one try.....
The three gates are and, or, xor. Enumerate which corresponds to which :-)
So many rejections tonight...
It hurts :(
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?
swap(or, xor)
binary search
On testdata
For B, count number of holes in hexadecimal representation. It comes from popular problem where you have to count number of holes in decimal.
Interchange xor and or operations
Check all variants of and, or , xor in scheme.
How to solve E ?
Check all variants of and, or , xor in scheme.
I still can't believe I got B :D
Could you tell me how solve B? Or give any hint.
You had to count the number of holes (gaps inside the numbers) in hexadecimal representation. (8 has 2 gaps, F has 0 for example)
Those who couldn't solve any problem, don't get upset! maybe you are not a fool!
How to solve D?
using braille
I noticed that the statement in C are compile error in INTERCAL. Then what next?
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"
In each line there is on incorrect word. These words give you the statement
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.
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"?
See name of the problem?
And what does it give? Because I don't get it.
Crunching Numbers — "What people pretend to do all day at work whilst daydreaming about things that will never happen."
But it looks like it does not always mean necessarily doing useless work, it may mean doing legitimate math or some calculation.
WTF??????????????????? using BRAILLE to solve D????????????????????
WWWWWWWWHHHHHHHHHHAAAAAAAAAAATTTTTTTTTT????????????
try for yourself — translator
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)
Are they blind programmers? :D (just joking)
I think in this case the name "touchy-feely" is an appropriate hint to solve the problem.
I read statement and title in russian and it was closer to the meaning "sensitive".
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 '-'.
It's simplier to switch to another cart position in G with a single ">" instead of writing thousands of "-" to reduce it to 0.
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.
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
How did you come up with the solution of B?
The problem statement was somewhat similar to this image which was once went viral on facebook.
How did the 'hex' come up? Any hints in the Problem? Apart from guesses
It's not just any kid, it's a programmer's kid! Their parents would teach them the nicer bases as well.
'Programmer's kid'.
2 :-)
When can we upsolve?
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.
The real programmers' kid:
I must have been born with a fake brain....
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 :'(
can someone really give me a quick-tip to improve my rating? plz... i wanna defeat my bro in this...
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.
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.
Any tutorials ?
http://mirror.codeforces.com/blog/entry/51351