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

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

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
  • Проголосовать: не нравится

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

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

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

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

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

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

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

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

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

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

huge respect for authors /\

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

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

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

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

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

Genius idea. orz