Контест окончен, надеюсь, вам понравилось :-) Разбор задач — здесь.
В пятницу 31 марта состоится пятый Первоапрельский контест — несерьезное соревнование, в котором решить задачу зачастую проще, чем догадаться, что же в ней надо сделать. В его подготовке мне помогал kit1980, а также команда Codeforces.
В этом раунде вас ждет 7 необычных задач, на решение которых дается два часа. Раунд будет проводиться по схеме ACM ICPC (без взломов, положение в результатах определяется количеством решенных задач и набранным штрафным временем) и будет нерейтинговым. Решения можно сдавать на любом языке, поддерживаемом Codeforces. Чтобы получить представление о том, что вас ждет, можно взглянуть на контесты прошлых лет: 2012, 2013, 2014, 2016.
Как обычно, чувство юмора, совместимое с моим, является необходимым условием для успешного участия. Удачи!
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 ?:(
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
Чет не очень чувство юмора. Лучше бы ребусный контест сделали.
triggered
Через пару недель будет второй :)
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)
Второй год подряд первая задача одинаковая... интересно, я один первой попыткой выводил 30-n вместо 3^n?
Понравилась только задача F и, немного, G, но это лишь из-за моего незнания языка программирования и того, что постоянно приходилось узнавать о нем что-то новое, и придумывать, как избавится от очередной проблемы.
Про задачи B-D ничего не скажу, так как не решил их.
я это второй попыткой сделал
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.
А может мне кто-нибудь объяснить как возможно решить подобные задачи с первого раза как это делают люди с первой страницы результатов? P.S.: Задача А зашла со 118 раза — счастью не было предела. :) UPD: Имеются ввиду не только задачи А.
Просто в прошлом году задача А была аналогичной. Тоже нужно было найти последовательность по названию задачи.
Логика составителей: не участвовал год назад, — извини, чувак, в следующем году тогда решишь A.
Как решить первую задачу с 100+ попыток? Имею ввиду, как нужно мыслить: в частности, хочу узнать как мыслили конкретные люди и как они в итоге пришли к решению.
Увы, просто нужно было знать о существовании такого подмножества "шуточных" чисел. Лично я не знал, перепробовал все варианты, аля a^3, 3^a, a^a, 30-a, 24+a... Под конец совсем отчаялся и начал пробивать тесты — выяснил, что второй тест — вход: 1, ответ: 4, — совсем сбился с толку.
Поясню: подбором отгадывал входные тесты и ответы к ним. Так, первый тест мне известен и он совпал с системными тестами — хорошо. Сначала угадывал ответ на 2-й тест, затем входные данные для него, затем ответ на 3-й тест, затем его входные данные и хотел уже продолжать дальше, но имея ответы для первых трёх тестов (a = 3, 1, 2) в Google таки вышел на последовательность из задачи.
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:
А когда примерно будет разбор??
http://codeforces.me/blog/entry/51351
There should be more of these contests :-P.. Hopefully if this comment could get enough upvotes there'd be more ;-)..
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://codeforces.me/blog/entry/51351