### PikMike's blog

By PikMike, history, 4 weeks ago, ,

First of all, I'm really sorry for the issues the round had. We paid not enough attention to make sure everything works as intented and got punished for it. That was a lesson for us, we'll do our best to keep the future rounds as clean as possible.

The problem B had an issue with the checker, solutions have been recieving wrong verdicts. Unfortunately, neither its author, nor reviewers have noticed the bug.

Can you spot it without looking in comments?

The bugged checker

It's been compiling with no warnings even with -Wall -Wextra -Wconversion flags. By no means that justifies our carelessness but the mistake was really unfortunate.

We really hope you enjoyed the problems nevertheless.

The contest will definitely be unrated for the participants affected by it.

• +151

 » 4 weeks ago, # |   +67 The errorja and pa in main should be int but they are bool.
 » 4 weeks ago, # |   0 bool -> int
 » 4 weeks ago, # |   -31 That is why Java is Love!!!
 » 4 weeks ago, # |   +31 Is it rated for the rest? If so it is a good solution to the situation. Thanks for the round and for the clarification
 » 4 weeks ago, # |   +165
•  » » 4 weeks ago, # ^ |   +4 Yes, I also submitted to check my solution is correct or not. Because WA on test1 doesn't give penalty but when I submit it, it shows AC.
 » 4 weeks ago, # |   +46 If you use {} instead of = to initialize your variables, you will get a warning. Exampleint return_some_integer() { return 10; } int main() { bool x {return_some_integer()}; } // G++ output: test.cc: In function ‘int main()’: test.cc:6:32: warning: narrowing conversion of ‘return_some_integer()’ from ‘int’ to ‘bool’ [-Wnarrowing] 6 | bool x {return_some_integer()}; | ~~~~~~~~~~~~~~~~~~~^~ 
•  » » 4 weeks ago, # ^ | ← Rev. 3 →   +20 ... and also you will switch from copy-initialization to direct-initialization so any explicit conversion will be acceptable.... and also you will have a potential aggregate-initialization of the first struct member leaving other uninitialized.... and also you will potentially have an initialization via initializer-list if it is defined for the target type as it is preferred during the overload resolution.The right answer is: spoiler const auto ja = readAndCheckAnswer(ans); const auto pa = readAndCheckAnswer(ouf); https://clang.llvm.org/extra/clang-tidy/checks/readability-implicit-bool-conversion.html
 » 4 weeks ago, # |   +31 Next time don’t ignore polygon’s warning and do some checker test as well))). I always try some tests to receive all possible verdicts. It really helps. Btw round was awesome)
 » 4 weeks ago, # | ← Rev. 2 →   -75 Isn't it really unethical for you and other people to say that since the checker for B was wrong, those who naively submitted stupid solutions which don't even pass sample test, to say that the contest should be unrated? couldn't you just take it the other way: That pretests (you may call whatever you like) were weak, and there is nothing wrong with the problem, and so the round should be rated?
 » 4 weeks ago, # |   +2 Does this mean that people who pass B will get more rate? It doesn't seem fair.
 » 4 weeks ago, # |   +42 Checker for a Checker will now be a thing.
 » 4 weeks ago, # |   +70 If you tested any wrong solutions whose output is valid, not the best, and the number of duels is not zero, e.g. a solution which put a black or white knight in each cell randomly, you should have found the mistake.Maybe it's not so easy to find the mistake by eyes, but it seems that no one tested any wrong solutions before the contest.
 » 4 weeks ago, # | ← Rev. 2 →   +30 And I have just checked the problem revision, it was 4 when the contest began, and now it's 12. (see the submissions at the begin of the contest and at present, see the number in the block "problem" after "1221B — ")I'm just wondering how to finish a problem in 4 revisions.
 » 4 weeks ago, # |   +1 The checker program was more naive than my submitted code for B. I am glad that we both are stupids.
 » 4 weeks ago, # |   0 So sad!
 » 4 weeks ago, # |   0 In my case, first I submitted the wrong solution but after some thinking I submitted the correct solution during the contest. So, can't my judgement be done based on the correct submission
 » 4 weeks ago, # |   0 Why dont I get rated?
 » 4 weeks ago, # |   +167 Lol. This was educational.