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

Автор Errichto, 7 лет назад, По-английски

Previous part: https://codeforces.me/blog/entry/63606

Apparently, one of problems had incorrect output data. Can someone confirm? On the bright side, no huge technical issues this year afaik.

Unpopular opinion here: Prague isn't a good organizer :O

Also, some disqualification in the top happened :O

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

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

»
7 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +93 Проголосовать: не нравится

The rumour is, the disqualified team sent some rude clarification request in frustration.

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

Yes, indeed there was bad test data in one of the problems. As we were explained, the judges' programs all had the same mistake. (I'm not sure if I should spoil the solutions, but it was a textbook error in a textbook algorithm — whenever we teach this algorithm to the students, we always warn them against this very mistake :)). Also, there was no rude clarifications, and no big and juicy secret behind this. But I think this is not anyone's business but the interested team.

  • »
    »
    7 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +21 Проголосовать: не нравится

    Can you please share the exact bug with us? We have no idea what it was

  • »
    »
    7 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +34 Проголосовать: не нравится

    You say it was a textbook error in the algorithm but many teams had solutions that didn't use the same algorithm as the official solution and still had the exact same bug and got AC on the wrong data, including my team. Could you please tell me exactly what that error was, at least in a PM? Another team from my country did use the same algorithm as the official solution and didn't make the mistake, and they don't have an idea what the mistake could be.

    • »
      »
      »
      7 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +62 Проголосовать: не нравится
      Spoiler
  • »
    »
    7 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +61 Проголосовать: не нравится

    Was it a problem where it's impossible to write some slow (maybe exponential) brute force? If no then Prague shouldn't organize international contests.

    • »
      »
      »
      7 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +53 Проголосовать: не нравится

      It is possible to write a brute force — just try all possible strings. It's weird that they didn't test the official solution with it.

    • »
      »
      »
      7 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +8 Проголосовать: не нравится

      Well, two things. First: that was obviously a stupid mistake, but I've had my share of stupid mistakes, too, so I'm less inclined for quick judgement. Second: last year, when the Prague system wasn't working at all, I was more fired up and even made a quick inquiry about possible alternative CERC organizers -- not that I could actually do anything about that, but I was actually angry enough to ask around. So...guess how many volunteers turned up :)

»
7 лет назад, скрыть # |
 
Проголосовать: нравится -26 Проголосовать: не нравится

Unpopular opinion here:

You're not supposed to follow that up with a popular opinion.

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

Can someone share final standings?

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

I can surely imagine someone making this bug. Less likely, but I can still imagine three people doing this exact mistake independently (not sure whether these judges discussed this solution between them (bad) or not (good)), but what I am mad about is that they didn't stresstest it against straightforward bruteforce solution what would definitely detect this bug. Having multiple solutions giving the same answer prevents from having stupid implementation bugs, but doesn't really prevent from mistakes in logic of the solution. Stresstesting against themselves two solutions computing the result in two completely different ways gives much better safety than stresstesting two codes implementing the same idea.

  • »
    »
    7 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +18 Проголосовать: не нравится

    To me, stresstesting against a bruteforce is for killing any implementation/logic/anything mistakes that appear with sufficiently small inputs, while having different full solutions is both for those mistakes that only appear with large inputs, having multiple opinions for tuning limits and difficulty, but especially spotting passing solutions that break the problem or have countertests that aren't in the test data. Testing needs some amount of "the setters are dumb and I'm going to prove that".

  • »
    »
    7 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится

    I can not imagine someone making that bug and sets CERC tbh

    • »
      »
      »
      7 лет назад, скрыть # ^ |
      ← Rev. 2  
      Проголосовать: нравится +13 Проголосовать: не нравится

      Everybody makes mistakes. I do a lot of stupid ones as well even though I have decent achievements in competitive programming. But whatever I do, I take as many precautions as I could if I am aware my mistake could have bad consequences, ensuring myself everything is ok in a way that is not almost bound to guarantee safety. And these precautions here were not taken.

      • »
        »
        »
        »
        7 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +37 Проголосовать: не нравится

        People can make mistakes, but for me that specific bug is not a mistake, but a proof of not understanding AC correctly. I also didn't understand why AC fails when I don't propagate success flags. After understanding why, I realized that actually I didn't know what Aho-Corasick does. I think someone who sets CERC should understand basic algorithms such as Aho-Corasick.

»
7 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +16 Проголосовать: не нравится

After seeing the standings, I got curious about the difficulty/balance of the problem-set (there are so many teams with 11 — 10 problems solved).

Overall it is sad to see such things happen in a renown contest as CERC. Hope next year it is organized by another university.

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

Anybody know some details about what they said about 2021? I mean that we will have European qualifiers.

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

Here's a new idea. Organizers should ask random people in discord for help with testing the problems just before the contest.

»
7 лет назад, скрыть # |
← Rev. 4  
Проголосовать: нравится +18 Проголосовать: не нравится

Btw, does anyone know whether getting disqualified still counts as participating in a regional contest, for the eligibility ladder?

We didn't get the PDF certificate in icpc system :O

  • »
    »
    7 лет назад, скрыть # ^ |
     
    Проголосовать: нравится -22 Проголосовать: не нравится

    I understand that for your it is funny situation, but it shouldn't be. Questions you better be asking: Is this disqualification only for this year or forever? Will other teams from our university be disqualified too?

    My guesses would be: you and your teammates are banned forever, university is banned from icpc for 2-3 years.

    • »
      »
      »
      7 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +42 Проголосовать: не нравится

      Interesting, your view of this situation is completely different than mine.

      My guesses would be: it doesn't count as a participation, no other team is going to be anyhow involved, the university should file a complaint because of "gross misconduct by contest officials with the intent to harm".

      • »
        »
        »
        »
        7 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +31 Проголосовать: не нравится

        Why wouldn't it count as a participation?

        If it was the case, every team performing not so well would have an incentive to add a "fork()" line to their solution in the end of the contest to get disqualified and get one additional attempt.

      • »
        »
        »
        »
        7 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +50 Проголосовать: не нравится
        1. I assumed that rules explicitly say "calling some OS functions like fork is prohibited". If it is not the case, you shouldn't be disqualified. Otherwise, my first comment stands. Especially if diff with your previous submit is just this fork (which looks like it judging by your comments).

        2. You are basically saying that if you have not qualified for WF you should "slightly break the rules" so that participation doesn't count. This is insane, right?

        • »
          »
          »
          »
          »
          7 лет назад, скрыть # ^ |
           
          Проголосовать: нравится -8 Проголосовать: не нравится

          I'm not saying that it shouldn't count, I simply don't know what are the procedures. And no certificate in the system makes me confused.

          Btw, my opinion is that breaking ICPC rules should result in a lifetime ban. However, this is not the case.

          • »
            »
            »
            »
            »
            »
            7 лет назад, скрыть # ^ |
             
            Проголосовать: нравится +18 Проголосовать: не нравится

            The opposite for me: I don't think that breaking ICPC rules should result in a lifetime ban (or, for that matter, ban at all) because some ICPC rules are very stupid (like you can be banned for not attending sponsored events), but most of the stories about bans I heard resulted in some very permanent damage not only for rulebreaking team, but for its university too.

            I'm not saying that you did something really bad and should be punished for it. I also don't have anything against Warsaw U. I'm just saying that apparently judges of your regional are angry at you and this can end badly for you and your university.

          • »
            »
            »
            »
            »
            »
            7 лет назад, скрыть # ^ |
             
            Проголосовать: нравится +24 Проголосовать: не нравится

            A similar situation happened in Latin America region (at that time, South America/Brazil site) in 2007 or 2008. A team made a "fork bomb" during the warm-up session. Because of this, the server collapsed, and the team got disqualified.

            The same team participated in the next two years, qualifying to the World Finals. Thus, I don't think there is a lifetime ban in such situation (at least in the official ICPC rules).

  • »
    »
    7 лет назад, скрыть # ^ |
     
    Проголосовать: нравится -18 Проголосовать: не нравится

    My guess is that you just get result:YEET and otherwise, everything is the same as if you didn't send a fork and got a non-YEET result.

»
7 лет назад, скрыть # |
 
Проголосовать: нравится -38 Проголосовать: не нравится

I hate problems :')