Quick Introduction
Most of the cheaters getting accused mainly fall into the group of newly created accounts.
Possible solution ...
A technique that has proven effective in many ranked PvP games like Valorant, League of Legends, etc., involves restricting access to ranked play until a player has gained some experience. This helps to reduce the number of cheaters and duplicate accounts, as it creates a barrier to entry for those who might create new accounts to cheat or exploit the system.
For Codeforces, a similar approach could be implemented. Specifically, Codeforces could start allowing a person to participate officially in a contest only after they have completed a certain number of preliminary contests, for example, 20 contests.
I am taking 20 Contests just for Example. This is up to CF to decide
Initial Participation: New users would initially participate in contests unofficially. These contests would allow them to get familiar with the platform, understand the rules, and hone their skills without affecting the official rankings.
Milestone Achievement: After participating in 20 contests, these users would then be eligible to participate in official ranked contests. This threshold ensures that they have a reasonable level of experience and reduces the chance of encountering cheaters who might create new accounts for quick gains.
PROS
- This will reduce people's will to create new accounts.
- For a new legit user he/she will be more confident after giving 20 contests than jumping straight into the ranks.
CONS
"I'd love to hear everyone's thoughts on this!"
It takes 2-3 months to accumulate 20 contests, given you don't miss a single one. I feel like this change would just make it less incentivizing for newer contestants, as one of the more fun/incentivizing aspects of CF is the rating. I find it difficult to believe many (legit) newbies will be willing to partake in 20 contests with zero feedback (rating change), especially if they are just spontaneously doing contests for fun. Furthermore, if people feel the need to cheat for a rating for validation(?) in the first place, I'm sure people will be willing to submit CE for 20 contests(especially if there are other, more concrete reasons for cheating for elo).
As for my takes on what you can do, I think its a culture/mindset issue; as long as there is demand, people will always cheat, and its especially hard to deal with on online contests without invasive anticheat or usage of real ID.
Let me know if you think otherwise, but IMO this change is negative overall.
I took 20 contests just for example btw (This is up to CF to decide). Anyway, as I newbie when I started I never chased ratings straight away, I know for a fact that am bad and it takes time to improve. But I think having a restriction before taking part in a contest officially you have to fulfill certain criteria will reduce the newly created accounts. And also having such criteria will cream the community with dedicated Giga chad coders. Thoughts?
But while you don't cares about rating, many people include me really cares about the rating when we are newbies. And it still can't stop cheating after 20 rounds.
A better solution could be to ban an account for 10-20 contests if it gets solution skipped
The system is not 100% correct with its judgement on plagiarism. This sort of ban seems far too harsh. Also, they can always start with a new account.
I believe that majority of cheaters are just here because placement season is just arriving and they will eventually leave this prestigious platform after that . Cheating will not become zero but I believe it will reduce drastically after 2-3 months. But it's very strange people sit in front of screen 1-2 hours and wait for solution to come and than just upload that .
It takes more time if you don't take part in every contests. For example I used 5 months XD
I love this idea, however I want to give some small changes on this.
First of all, 20 contests are obviously too many, it take one about 4 months for that, assuming you're doing almost every contest. Maybe adjust that to 6 or 10 is more adequate.
Secondly, making first contests unrated will potentially make people just sign up a contest, solve one problem (or even just submit a random CE) and leave because they are unrated anyways. I'm afraid some kind of people would register tons of accounts, remove their restrictions at the same time, and then cheat as how they do now. I suggest just hide the rating completely (instead showing an offset value like now) in the first contests. Both of these ways increase the time cost to cheat successfully, but the second way makes more sense IMO.
Last, ban those accounts that got skipped for 2 times in a row, please. Nothing will work if this isn't implemented. I'm very shocked when I once knew some random people cheated for 6 times and still didn't get banned. Maybe not permanent, but 14/30 days temp ban will work I believe.
I wanna add in a bit to this idea to avoid circumventing: 3 skipped contests (not consecutive) can also be qualified for a ban similarly to that for 2 consecutive skipped.
I would get unrated cause of that : (
tbh learn from leetcode:
for the first skipped contest: make the round still rated for them but move ranking to the bottom of the leaderboard
just ban after second infraction
Exactly.....
Great idea dude but instead of 20 contest it should be around 5-8 contests as it would be disadvantage for the newbies/those who starte late
And also need to ban these scum after the first attempt of cheating.
I thought of tetr.io when I first saw the idea. In the game website, the users can only enter the league (i.e. official game) when they are level 10 or higher. This annoys me because getting to level 10 can take a week or more time.
The same as above, setting "unrated 20" contests for beginners isn't a good idea. They would become bored and quit cf.
No. Lvl 10 for tetr.io is very easy. Just enter some rooms or quick play and you can get it in 1 day. (Even you do not get lvl 10, you can still play as a tetra league mode with someone else with the room feature)
It's easy to achieve by zen, actually.
But 20 contests before rank is not good because I haven't participate in 20 contests. I don't want to be unr :)
Or you could just disable the hacking feature for 20 contests =)
Or you could gamify it a little bit with achievements and rewards.
For example, the more you participate in the rated contests, you get achievements.
And achievements unlock new website features.
You don't need to make everything available for you on the website immediately.
Ability to create blog post — this is a feature.
Write comments — this is a feature.
Make votes on comments and blog posts — that's also a feature.
This won't be rewarding experience for the people who already have an account and they want to create an alt account for cheating purposes.
But this will definitely be rewarding for the true new users.
Rating is just one dimension.
Why people want it — because it gives you social status.
Social things feel rewarding to people.
But it's not the only social thing you could play with.
This change will make new users frustrated, I myself haven't given 20 contests, what do you expect from a random person who just wants to waste time on cf and give contests for fun.
Also If a person wants to cheat, 20 random compile errors aren't much, simply they will create a few accounts on just give every contest on them, submitting a compile error simply, this may reduce the cheaters, but makes it frustrating for the real users.
Personal Opinion, No need to unofficialize the contest for them, just don't let them hack for idk, rating 1600?
Just remove the functionality of seeing other's solutions while the contest is on(lock and see)
Reduce rating to 0 on skipped contests
I have participated in 13 contests so far. My contest rating should be 0.
And here are some of my opinions:
The solution seems nice, but 20 contests?? It's too much, It takes almost 3 months, if you give almost all of them. The new-comers can get demotivated and may get tired/bored or participating unofficially and their morals can go down. The better number would be 8 — 10 contests. Also, a better solution is to ban a user from participating in contests for a certain period.
Auto comment: topic has been updated by KatyPerrryy (previous revision, new revision, compare).