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

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

Hello everybody. So I was really bored tonight and looked at so many comments being like "sorry_dreamoon is X" and then people arguing and disagreeing. Since I had nothing better to do, I decided to finally unravel the truth of who he actually is. Here is the full case and how I actually got to him, hope you enjoy! :D

Selection

Let's start by the obvious. He managed to get first place in Div2 and he got second in Div1 (would've been first if the scores were static). So what we know is that he is really good.

Let's look at the past 10 Div1 contests. It turns out that only 8 times it happened that someone with a rating of less than 2500 got in top5. This is 8 times out of 50 people being in top5. But he was second and almost first, so he is better than that.

It turns out actually, that in the past 10 Div1 contests, only 2 times it happened that someone with rating less than 2500 got in top3.

Combining this information with sorry_dreamoon's confidence and great results — we can assume that his rating is 2500+. That leaves us with 76 suspects.

Reducing the suspects

As pointed out a few times, the obvious way is to remove all people that participated in CF rounds #284 and #292, as those are the rounds sorry_dreamoon participated in. Obviously it's hard to perform well on two accounts, so we can be sure those people are not him. Removing those from our suspect list we are left with 36 suspects.

Reducing the suspects even further

As you can notice from the blog post of round #292 dreamoon_love_AA invited sorry_dreamoon to participate 26hrs ago (as of when I was investigating) and the respond (top comment) was almost immediate. This shows that our suspect was browsing codeforces at the time. And since the account was initially made only as a one-time joke, he most likely was browsing from his real account.

So from this, we can remove all our suspects that havent logged in the last 26 hours.

Well, believe it or not, we're down to 18 suspects!

The final conclusion

Now here the things start to get a little bit tricky. But imagine the following scenario:

You create an account with the only purpose to be first in a competition. If you fail, it will be somewhat embarrasing. While you want to keep your identity private, you want to be as good as you can. Would you use your primary programming language?

For me at least, the answer is absolutely yes. If you are used to a language, then your maximum performance is with that language and changing it is incredibly risky.

While not certain as the other two methods of eliminating, this method is still logical — "there is no good investigation without some assumptions".

So, sorry_dreamoon is using Java. Guess how many people from our 18-people-long suspect list use Java? That's right, you got it — 1!

And who is it... inserting drum roll

qwerty787788

Not convinced yet?

You know, when we try to mask our code we would usually change names of variables and functions but the structure and the way your thought goes is hard to change. So, it turns out that sorry_dreamoon has a code including maximum flow — 9251954.

It turns out that qwerty787788 has maximum flow too, in the recent Rockethon — 9762794.

So, looking at the function that actually does the flow you can see the following:

qwerty787788's code :

class Flow {
	int n;
	ArrayList<Edge>[] g;

	Flow(int n) {
		this.n = n;
		g = new ArrayList[n];
		for (int i = 0; i < n; i++) {
			g[i] = new ArrayList<>();
		}
		q = new int[n];
		h = new int[n];
		cur = new int[n];
	}
etc

And this is sorry_dreamoon's code :

static class Flow {
        int n;
        ArrayList<Edge>[] g;

        Flow(int n) {
            this.n = n;
            g = new ArrayList[n];
            for (int i = 0; i < n; i++) {
                g[i] = new ArrayList<>();
            }
            q = new int[n];
            h = new int[n];
            cur = new int[n];
        }
etc

What is the difference? It's literally the word "static".

This is just a small fraction of the flow class. About 90% of it is completely identical.

Conclusion

To be honest I really liked the mysteriousness of sorry_dreamoon but I really had nothing better to do tonight and since I really wanted to live my detective-dream, I hope everybody takes my work with a smile :)

P.S.

And in case dreamoon_love_AA hadn't figured that out by himself yet, I hope it helps him sleep better at night :D

P.S.S.

I hope this doesn't bring any problems to qwerty787788 since he is a very good coder and I think we all can agree that this was a very well carried out joke (though technically my "logic" isn't a solid proof that it's him at all)

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

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

excellent work , Sherlock Holmes could not do better :)

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

That being said we can see that qwerty787788 has won Div. 1 contest only once, so today he could have his second best result ever.

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

Waiting for qwerty787788's comment now :D

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

Aw man, now there won't be anyone claiming I'm sorry_dreamoon...

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

You forgot about MikeMirzayanov :D

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

What if this person didn't log in CF when he/she was reading?

What if this person didn't even participate in the last 10 rounds contest?

And what if this person used a template, or just directly used an old code from others for convenience?

Also last visit display may not be accurate. For example, it shows your last visit is 7 hours ago, but you published this blog less than 2 hours ago indeed.

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +56 Проголосовать: не нравится

    As I mentioned in the post, I like the phrase "there is no good investigation without some assumptions".

    Obviously anything is possible, but we're picking the most probable scenario, that's how detectives work I presume, or that's what I've seen in movies :)

    Anyway, it seems to have worked so why challenge the logic? :D

    P.S.

    Though you're right about the fact that none of this is absolutely solid evidence :)

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

Cool work! The post is very-very logical, and so reasonable.

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

A good detective work. CodeforcesPolice may lose his job and be replaced by you.

(The second sentence is just a joke...)

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

This blog looks like editorial to one of the hardest problems.

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

Also, both of them don't put a space before putting a smiley in their comments.

http://codeforces.net/comments/with/qwerty787788

http://codeforces.net/comments/with/sorry_dreamoon

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

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

BTW...he become international master only in two contests !!!

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

Sherlock just here.

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

I think sorry_dreamoon is a good coder but he/she wants to have 2 handles at the top of (some) contests... Anyway, it's a cheat and Mike should ban 1 or both handles.

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

    Without this events(moments) codeforces's life would be enough boring. And instead of writing this irrelevant comments just change your photo))))

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

      I agree, you'd rarely see so many people of the community focusing and having fun with one thing together, so it was a very cool joke :P

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

      IMO, there are a lot of ways to make the Codeforces funny without Rules violation.
      It's forbidden to create/use multiple accounts and ordnung muss sein.
      Nobody wants to live in a cesspit, but a lot of fakes in DIV2's top turns it into the shit. I don't see any difference between "sorry_dreamoon" and any other "top-unrated-newbie", so he must be (IMO) severely punished.

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

        IMO you should be severely punished for the lack of sense of humor.

      • »
        »
        »
        »
        10 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится +68 Проголосовать: не нравится

        A lot of fakes turn Div2 to shit everyday without getting punished because nobody bothers to really go and find out who they are. If it was such a severe problem in the eyes of the staff, I think IP trackings and stuff like that could be made to ensure less people create multiaccounts and participate.

        But since obviously nobody has done these things I don't like the idea of "severely punishing" the guy. He made us all laugh and you should look it with humor in my opinion, I realize it's a violation when looked from a technical point of view, but we're humans afterall.

        I believe the most "severe punishment" he could deserve is removing the sorry_dreamoon account.

        Even he said it...

        P.S.

        And if we get really technical, you can't solidly prove it's him. Maybe they used the same template for flow? Unlikely, but still possible :P

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

          IP tracking is useless, you can just go somewhere with free net if you want to compete under a different account (for me, it'd be the computer lab at my dorm).

          Or maybe sorry_dreamoon just copied someone else's template for flow. I do that when Ford-Fulkerson isn't enough :D

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

      if your photo is like mine, when you logged in and you open your profile page, look at your photo and the question below your photo :v and that's the joke like "want to change your photo?" "no, i don't want to change it and don't ask me more about that"

      my photo is a joke, right ?

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

As soon as I saw sorry_dreamoon codes, I was pretty sure its mmaxio or qwerty787788, because I refer their codes regularly. It is also known that qwerty787788 hardly comments on non educative talks on blogs. But, I think for the first time he commented on such a conversation which too raises doubts. BTW, sorry_dreamoon is over and gone story. I must say some of the coders here deserves to be in secret service agencies like MI6, GRU, CIA :-P

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

    " I must say some of the coders here deserves to be in secret service agencies like MI6, GRU, CIA :-P "

    Maybe they already are in some of them. Who knows?

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

Next challenge: find out who is Bredor.

»
10 лет назад, # |
Rev. 3   Проголосовать: нравится -38 Проголосовать: не нравится

deleted because there are too many negative response.click upvote so others can see it.

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

good research =D

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

It will be more funny joke if the problem name of the next contest becomes "**Guess who is "sorry_dreamoon"** " . Always keep a smile :)

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

Do you live in 221b, Baker street? :p

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

This post has received more likes than many contest announcements, yet it is not even on the main Codeforces page. Good job, Enchom .

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

 WTF! you are the best investigator i have ever seen !!!!

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

we were found earlier than you. here

this commend was -13 at the begining after than it came +13

at the end here we are -28

i think i didnt deserve -28

he is in Top 10 contributors , world is not fair

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

RIP qwerty787788's account

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

May be Enchom is sorry_dreamoon . He intentionally did everything , so that we suspect qwerty787788 :D

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

How long did it take?

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

    Not too long, I had some fun with excel tables of suspects and it took about an hour or two with a lot of distractions from friends :D

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

WOW! That was epic! Genius.

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

qwerty787788 is not gonna comment, I challenge.....

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

I think that sorry_dreamoon programmed in java I facilitate the investigation of the discovery of his true identity , I think it would have been more difficult to find out if he programmed in c ++.

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

And ... tourist is being in the same team with qwerty787788. Maybe both of them are combining to beat dreamoon_love_AA :)

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

    I think tourist doesn't need to combine his skills with anyone else in order to beat whoever he wants.

    Congratulations for reaching top 10, Encho!

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

What if sorry_dreamoon's fake account is qwerty787788 and all this time he was competeing on a false account, but now he decided to show up.

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

maybe sorry_dreamoon programming like qwerty787788 to divert us in the wrong way :D

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

happy new sherlock holmes!

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

Obviously he did the best thing he could(not leaving any comments here), if I was him, i'd do the same.

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

This should be the most "liked" blog ever! See, just 1 blog and Enchom are in the top 10 contributors! Congrats!

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

Cool story, and very similar to be true, but... If your investigation gave fault, really sorry_dreamoon now is laughing.

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

Nice deductions, man!

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

And something magical about sorry_dreamoon

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

.

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

I am sorry but did Soni tell you that?

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

Damn!That was an excellent investigation. But that was 4 years ago !

Why don't such investigations take place today ? It would be nice to know the face behind other legendary alts !