LostInJapan's blog

By LostInJapan, 6 months ago, In English

Today was my first time participating in open hacking phase. I tried & lost 50 points for an Unsuccessful Hacking Attempt. But I don't want this to stop me from submitting hacks in future. I really want to know how people end up making so many Successful Hacking Attempts! How do you guys find exploitable code & what do you use to generate the testcases?

I don't want my Codeforces journey to be just about problem solving; I really wanna hack in contests & be successful at it!

Any guidance from experienced hackers would be really helpful for me as well as for others who may or may not have given hacking a thought.

EDIT: Turns out one doesn't lose points during open hacking phase (Div. 3/4) through Unsuccessful Hacking Attempts (yay!). Please correct me if I'm wrong!

I'm still looking forward to valuable guidance for future hacking attempts!

  • Vote: I like it
  • +11
  • Vote: I do not like it

»
6 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Hacks have been made mostly irrelevant by strong pretests in rounds.

Now days most hacks are exploiting hash function or built-in librarys (eg. in java Arrays.sort over primitives uses quicksort, c++ set's hash function is hackable etc) which is a little silly.

  • »
    »
    6 months ago, hide # ^ |
    Rev. 2  
    Vote: I like it 0 Vote: I do not like it

    You'd know that better than me, indeed!

    But how do I even find such exploitable codes? Do I scan the standings & try checking users randomly? Also I saw Successful Hacking Attempts that generated WAs! And testcase generation too remains a mystery to me :')

»
6 months ago, hide # |
 
Vote: I like it +8 Vote: I do not like it

You can test the code before hack.

»
6 months ago, hide # |
 
Vote: I like it 0 Vote: I do not like it

Hacks in open hacking phase don't affect your score (positively or negatively). The only effect is that test cases of successful hacks are merged into the system tests, which all the solutions are tested again with.

Nonetheless it's a good idea to look at other people's solutions and try to construct a test case against a solution that looks wrong. (And you'll see how many cheaters are there; it's very easy to find a solution generated by AI...)

  • »
    »
    6 months ago, hide # ^ |
     
    Vote: I like it 0 Vote: I do not like it

    Hey! Yes, I realized that open hacking phase doesn't affect score ^^;

    Do you look for solutions with unusually high runtime on pretests, and try to hack them? Or is there some other technique to identify exploitable solutions from the pool?