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

Автор nifeshe, 4 дня назад, По-английски

Yesterday some guy posted a blog about accidentally submitting a solution to a problem in the most recent round meaning to do it after the contest ends. He entered a competition, lost 233 rating and then requested to make the contest unrated to him. As it is already clear to probably everyone, he participated from an alt and meant to submit from it, but for some reason logged in from his main.

Screenshot

I quickly found his alt and made a comment. Shortly after that he deleted the blog.

Here is a guide on how to find alts!

Look at the submissions

This method works very frequently. What do people oftenly do after participating in a contest from an alt? They resubmit all the problems from their main. This is how it looks like in the example above:

5 problems were submitted in 1 minute. It means that the guy was either the tester in that round, or participated from an alt. If we know that it is the latter, there is a high probability that we can find his alt already. Go to any problem that he submitted there (prefferably the one with less solves), sort all the submissions on it by the execution time and check all the solutions that have that exact execution time and memory usage. You can also try to only look for the submissions that use his language, but it might not work (as seen below).

Spoiler

If we get lucky, we can find the alt from the first try. In this case we didn't, because his submissions from the alt and the main had different execution times:

We should try again! After 2 more attempts, we find this:

Spoiler

After seeing that, we verify that is it indeed his alt from his name and codestyle. This is how I initially found it.

Search the handle

You would be amazed to know how many alts I found like that. Just look up the handle or any part of it. In this case we find his unrated alt:

Search the handle harder

Since searching handles manually is hard, we can try to do something with code. There are (probably) many clustering algorithms, we can try to use them on the list of handles and check the cluster the handle is in. I have no idea how to do any of that, so I simply asked ChatGPT to make something in Python and it worked. It produced the following after some of my modifications:

generating clusters
saving the clustering to a txt file
getting a cluster of a handle

I don't know (and, frankly, don't care) how this all works, I just tweaked the constants so it produced a reasonable result after running for 1 hour. Here is a download link if someone is interested. Only active users who have the highest rating of at least 1600 are included. As we can see, the cluster my handle is in is: ['nifeshe', 'nifes', 'knifeman', 'iamnifer', 'coniferousdyer'], which indeed contains similar handles to mine.

There are some other ways to find an alt, such as looking through the standings and getting HTML pages of the submissions, but they will rarely work and the 3 methods above are already enough in most cases. Good luck on losing your friends!

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

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

Wow, It's really impressive!

Can you find nwn 's alt (or maybe main) ?

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

    This submission has the same code style as this account, and EliteWantsYou has the same name and city

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

Can you find my other account?

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

Get a life bruh

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

Is there a way to integrate this into cf? To catch cheaters every day/every competition

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

Probably CyberCowOrz isn't his alt, since famous account orzdevinwang is an alt of Zhou Kangyang

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

Just tested your methods! Here are your alts: nifes, nifek

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

nifeshe moment

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

I'm not an expert on clustering by any means but it seems to have given a false positive with me and the following users 79brue teruel teruelv RuEn just because we share the common string 'rue' (however it did sucessfully detect an alt account ) which seems rather short for a match but i have to say using NLP is a great idea to detect alts maybe if someone designs a better model CF could integrate to detect plags during contests (like submission from alts who may obfuscate their codes in their next submissions to avoid getting caught).

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

My alt is kind of impossible to find, try to find my alt.

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

Can you find my alt ?

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

This blog is becoming "Click here if you want to find your alt", lol.