Hello, Codeforces! Not too long ago there was my second round, Codeforces #741 (Div. 2). Before it started, I wondered: surely there will be a lot of cheating on my round, just like on any other? So I decided to do something unusual.
As you know from a blog about cheaters, it's easy to find telegram/youtube channels with cheaters. So I decided to find a couple and join them...
So, the first telegram group I found was [link not available yet]. There weren't too many cheaters in it but they were, here's an example:
I joined this telegram group, and there was a meaningful dialogue:
This may seem unbelievable, but the admin of the group actually banned participants from texting for the duration of the contest! So, I've already had at least some impact on the level of cheating during my contest. By the way, this channel published a couple of videos on my 1562A, 1562B and 1562C editorials. Pretty good ones, by the way.
The second group I found was probably the largest group with cheaters on telegram: [no link yet]. I repeated the procedure:
However, this group ignored my appearance! And continued, as if nothing had happened, exchanging solutions in private messages or somewhere in discord:
A little later, they even wrote half the solution for problem 1562A:
Some famous user came to my rescue:
As you can see, the practice of swapping solutions is extremely popular in the cheat community (give me a B and I'll give you a C):
However, there are cheaters who are also scammers! Apparently, he got the solution of another cheater and he didn't sent his solution to this cheater:
And then something extremely interesting happened. I started getting personal messages from... Cheaters themselves! And they started to expose other cheaters! Apparently, they have absolutely no cohesive team.
One man (I am very grateful to him), gave me links to a couple of youtube channels, where there were cheaters. On one of them I went in the middle of the contest and also wrote in the comments, but I'll talk about that later. By the way, on one of the channels we can see the nickname of the author. A little later, when it comes to youtube channels, I'll show you who it was, and hopefully he will get banned.
So, here's what was written to me about youtube channels:
Somebody couldn't even believe that I actually authored the contest:
Unfortunately, I don't have the most interesting messages saved because I blocked this cheater for direct insults, but to summarize, there were messages like this:
- Hello, are you really Wind_Eagle?
- Yes, this is me))
- Nice contest, bro, but too hard for newbies.
After 30 minutes
- Your contest is good, but task B is weird trah, sorry.
- Because it is hard. Set your next contest without such bad tasks.
After 30 minutes
- You are not Wind_Eagle!
- Why do you think so?
- Because contest author will be busy during the contest!
- I am busy, but can take a break when I don't have many questions.
- No, you are not Wind_Eagle, I knew it!
- Because you are a [censored] idiot!
And then I banned him in Telegram.
The third and final group was a relatively small group of cheaters [no link yet]. By the way, this group was suggested to me in the personal messages by one of the cheaters from the previous two groups. I repeated the procedure here. There was an unexpected meeting with a fake of a known user and also I wasn't believed that I am Wind_Eagle:
In fact, I found it interesting to watch people refuse to believe that I am really the author of the contest. They threw funny smiley faces and jokes, but they couldn't admit it. Even when I made a screenshot showing that I was in my account and could edit the announcement, they still wouldn't believe me, saying that I had edited the HTML page. So, dear cheaters! I'm real! :)
Now let's talk about youtube channels. I found two of them: [link not yet] and [link not yet]. Unfortunately, the second channel has already finished broadcasting, so I left him a funny comment:
By the way, here's a screenshot of his screen:
I hope he will get banned.
I don't have any screenshots from the first channel, unfortunately. All I can say is that I wrote a message there, "Hi, I'm Wind_Eagle. Stop the stream or you'll be banned." By the way, in the comments, unlike in telegram, the tasks were discussed much more openly, codes and ideas were exchanged there in public.
Now a little bit about the good stuff. I received quite a few messages from users of these cheat telegram groups, in which they... say thanks for the contest! I've chosen a few of the best ones:
What does one want to say as a conclusion? It's all very sad, frankly. There are not just a lot of cheaters. Not just very many. There are too many of them. I'm afraid that there is only one way to fight cheating on CF: to close such telegram/youtube channels. Otherwise there is simply no way to deal with this problem.
In conclusion I want to answer a few questions upfront:
Q: Why wouldn't you stop cheaters from doing their dirty work!
A: And how could I prevent them? Drop the wrong code? One cheater would have checked it and written about it. Incorrect codes often appear in such groups.
Q: Do you have time during the contest to do this nonsense?
A: Well, usually the writers answer the questions. But when there weren't many questions, I did messaging. I apologize if I made anyone wait a long time for an answer to a question.
P.S. Do you think I should leave links to cheater groups/channels? I'll read the comments, and if this idea will be supported, I'll post the links.
it's probably the best blog about cheaters ever)
As a contest author, you could prepare a correct, but very messy solution for problem C. Rings with a lot of redundant branches and unnecessary special cases. In such a way, that its generated output is very unique and unlikely to match the output of any solution of any honest participant. Such unique output can be used to automatically flag solutions as "AC, but disqualified because of plagiarism". This is most likely not supported now, but CF could theoretically implement this feature. Alternatively, such unique output could be rejected by system tests as WA, but this is very controversial because the output is technically correct.
I also had an older comment about reliably identifying cheaters, so that they have no plausible deniability: https://codeforces.com/blog/entry/8790?#comment-808194
Wanted to know this As a contest author do you have any special power regarding the plagiarism check for that round?
No, I don't have any special power regarding the plagiarism check.
They will just make new groups.
Codechef displays on the profile if a user had cheated in a contest(back when it actually used to check for plagiarism) and still it has no effect. I think cp sites really need to ban/perma-ban/ (ip-ban?) such users, -275 points isnt enough.
Cheaters usually have low rating, so creating a new account is no problem for them, also VPN is so common that I think even cheaters can think of using it.
You did a lot of hardwork from setting the contest, to even joining the cheats to curb it.
Hats off to you brother, it is an extra step for the cf community.
Now, I know how gennady manages to top every contest
Unrelated question, is Secret_Eagle (author of blog) your alt? Your handles are similar and you have the same country and organization.
I don't mean to be that guy, but there's more than enough evidence to claim they are the same person, yet nobody is talking about it, since it's a reputable coder. We've witnessed C137 get banned recently for having multiple accounts and everyone claimed it was okay because his "contribution in form of blogs and hosting one contest was meaningless". What's the difference with any other coder or Wind_Eagle?
Let's just quickly go over a couple of facts both Secret_Eagle and Wind_Eagle have in common:
Both 6 years old
First submission in November 2015
Both using FPC in the beginning
Both from the same organization
Both from the same country
No common contests between them
Very similar coding style (does not prove anything, but just makes the statement stronger)
Similar opinions about cheaters (does not prove anything but just makes the statement stronger)
gepardo refers to his younger brother as Anton in his contest announcement 4 years ago, while Secret_Eagle makes comment about it being him — Wind_Eagle's profile says his name is Anton
Both have a history of being the early comments in the brother's blogs
We can never say for sure whether they are the same person, but this gives a great dose of suspicion to almost be sure these things aren't a coincidence. Again, it's possible that they are just good friends, with same coach, etc, that thought of making an internal joke, but how likely is this in reality?
This is not to say that Wind_Eagle deserves to be banned, but at least don't pretend like it's okay to break the rules (in this case owning multiple accounts) for some, while it's not for the others.
It's an interesting question whether 1 smurfer is actually doing less harm to the other Div2/Div3 contest participants than 1 plagiarist. Maybe that's a good topic for another blog. As for C137, he wasn't just a typical smurfer with multiple accounts, but participated in the same contests with both accounts simultaneously to gain unfair advantage for his main account.
Ahaha, no, I guess this situation speaks by self as " it is totally cool to have alt smurf for not important contests, nobody blame you"
I wonder is it possible to make a low-level problem such that there is a solution that pass pretests but not systests — because of a weakness very unlikely made by a contestant and is difficult to be fixed. The contest setter can infiltrate the groups and share this faulty solution.
Would such result be worth the efforts? It's like just a minor inconvenience for cheaters with no extra risk for them to be caught and banned.
Wouldn't there be many false positives, then?
Only plagiarism will be penalised.
There may be people who fail systests with their own solutions and I hope this will be a very small minority. They are not penalised for cheating.
I am thinking of problems like https://codeforces.com/contest/1536/problem/A where the top participants may produce a wrong solution because they overcomplicate their solution.
"D1 is segment tree", "A is binary search"
By the way, is there really a way to solve D1 using segment tree?
Lol I did use ST in contest. Idk why but when I read the question it stuck in my mind that there will be updates. Submission: (https://codeforces.com/contest/1562/submission/127117365)
Hilarious that everyone there is only interested in A, B and C. Cheating can only get you so far.
I have seen an interest in D1 once :)
This is a cool blog, infiltrating cheater Telegrrams is fun. One tactic that I think is effective in some cases is to flood the group with a shitton of hentai, this derails discussion and makes it hard to use the group.
This idea is so Ariginal.
Yeah because that would make us hard too.
Fun fact:codeforces is sponsored by telegram and cheaters use telegram groups for violating codeforces rules
Next time, cheaters will flood you questions to keep you busy during contest.
As you joined many of these cheating groups, in which Question did you see the most cheating? I am presuming it would be B or C.
I think you are right, it is B and C. But chetaing in A also was rather big.
I am the admin of that second telegram group, that group is just for post contest discussions, so I turn of messaging whenever the contest if live!!
I can't believe that you were the one Wind_Eagle , who messaged in the group that day, I am very glad to see you in my group.
Also, I am very happy that you liked my editorial videos!!
Thank You Very Much!! Abhinav Awasthi Codenav Community
You just gave me another reason to increase my rating. And I really really liked your problems in that contest.
Thank you for participating in my contest!
Nice read, A for effort, but very sad that there are so many cheaters :(
Lmao someone even named their account after Gennady....
Lmao aren't you a cheater too, I remember in last to last contest, you were bashed by people in comments of the announcement xD, you still cheated last round though, nice comments.
Lol a cheater is commenting blog about cheaters... How ironic...