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

Автор awoo, история, 5 лет назад, перевод, По-русски

Первым делом я бы хотел извиниться за проблемы с данным раундом. Мы уделили недостаточно внимания проверке того, что все работает так, как должно работать. Это послужило нам уроком, мы сделаем все возможное, чтобы будущие раунды прошли как можно более гладко.

В задаче B были проблемы с чекером, решения получали неправильные вердикты. К сожалению, ни автор, ни другие проверяющие не заметили баг.

А вы сможете его найти, не подсматривая в комментарии?

Чекер с багом

Он компилируется без предупреждений даже с флагами -Wall -Wextra -Wconversion. Это никак не оправдывает нашу небрежность, но ошибка была довольно неудачной.

Мы надеемся, что вам все равно понравились задачи.

Контест точно будет не рейтинговый для тех, кого затронула эту проблема.

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

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

bool -> int

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

That is why Java is Love!!!

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

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

  • »
    »
    5 лет назад, # ^ |
      Проголосовать: нравится +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.

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

А какой флаг надо подрубить, чтобы заметить эту ошибку?

Я тоже как-то на такое наступал, но вовремя замечал.

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

    Для этого конкретного случая не существует флага. Не попадает под -Wconversion, потому что bool flag = int это не каст, а проверка условия int != 0. Если поставить вместо bool тип char, то начнет ругаться.

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

If you use {} instead of = to initialize your variables, you will get a warning.

Example
  • »
    »
    5 лет назад, # ^ |
    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
»
5 лет назад, # |
  Проголосовать: нравится +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)

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

Does this mean that people who pass B will get more rate? It doesn't seem fair.

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

Checker for a Checker will now be a thing.

»
5 лет назад, # |
  Проголосовать: нравится +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.

»
5 лет назад, # |
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.

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

The checker program was more naive than my submitted code for B. I am glad that we both are stupids.

»
5 лет назад, # |
  Проголосовать: нравится 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

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

Lol. This was educational.