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

Автор shevlopmes, история, 6 месяцев назад, По-английски

Hi Codeforces,

We saw an unusual amount of hacks today. Specifically, there were a lot of hacks on problem B, I did one myself. The submission I hacked looked like this

Spoiler

As you can see, it's a completely valid solution except there are 2 unnecessary if statements which made it hackable. That made me think of 2 things: why there wasn't any 10-digit number in pretests and why the contestant wrote that "if"?

But after the contest I saw a list of hacks and, to my surprise, there were A LOT of hacks on similar submissions. So my hypothesis is that one of the authors intentionally spread an incorrect solution in some cheating community and removed all 10digit numbers from pretests. If that's true, I pay my respect

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

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

there was an intentionally wrong solution uploaded by youtube that we were aware of during contest, but we have no idea who posted it. we wouldn't spread a solution online even if it would eventually WA from hacks and FST.

as for the pretests, during preparation we saw no reason to have 10 digit numbers in it (there isn't a solution that would work for 10 digit numbers but not for 18 digit numbers — solution doesn't depend on number of digits save maybe small 1-3 digit numbers)

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится

    so I hope, you are going to use this fact, to catch cheaters this time

    because, cheating is at it's peak these days.

    ||Please say Yes||

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

To whoever spread the WA solution: if you're ever lonely or sad, remember that I will always love you. You have my respect.

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

total_sum = 35 feels super suspect, by just glancing at the code. But sz % 10 is really funny. I didn't even notice it at first, i thought it was just that other condition.

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится +32 Проголосовать: не нравится

    I looked through some of the other solutions that failed system test, and it looks like 35 comes from adding up all 'large digits' (5 to 9), and some people just calculated it themselves (like how arr exists but isn't actually used in that code). It's still suspicious, though.

    What makes me scared is that some of them even solved up to problem D and they would've been above my rank if these solutions didn't fail. If this kind of thing has happened casually, I just can't imagine how many ranks I've been losing just because I've always participated in contests conscientiously.

    • »
      »
      »
      6 месяцев назад, # ^ |
        Проголосовать: нравится +95 Проголосовать: не нравится

      Given the unused variable and seemingly random checks, could this solution be the output of ChatGPT or a similar tool?

      • »
        »
        »
        »
        6 месяцев назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится

        not the exact output in my opinion, but chatgpt may be used to edit the code and make it weird, but it's a common act of cheaters to spam add function + random variables + random conditions, this causes the plag checker which uses AST to check the similarity of codes executing not be able to identify it since because e.g. in a loop they updated 10 variables which just makes the checker not be able to identify it

»
6 месяцев назад, # |
Rev. 2   Проголосовать: нравится +78 Проголосовать: не нравится

What's even more ridiculous is 264905546, a similar code.

Can you find out what's the difference?
»
6 месяцев назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

huge respect for authors /\

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

I respect this behaviour but, is there a possibility that, somebody would read the code and recognize the solution, and then implement the solution completely on his own way to escape plag check?

  • »
    »
    6 месяцев назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    i dont think plag check is working anymore , they convert the code into another language , even they discard the function from code and mix with main code by chatgpt .

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

    If it caught 95% cheaters and helped 5% to solve problem B, it's a reasonable compromise.

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

Cheaters are so dumb that they do not even read the code and copy and paste it.

I hacked a solution of Saumy_1, by a simple test case of 1567890.

»
6 месяцев назад, # |
  Проголосовать: нравится -34 Проголосовать: не нравится

if someone got fst on problem B, it doesn't means he cheated for sure

»
6 месяцев назад, # |
Rev. 4   Проголосовать: нравится +9 Проголосовать: не нравится

Genius idea. orz

»
6 месяцев назад, # |
  Проголосовать: нравится -21 Проголосовать: не нравится

There was a similar leetcode question. ig people just copied that solution here hence many got wrong