In today's TopCoder SRM 816, the hard problem was a textbook flow problem (which was given previously as "Hard Life" on NEERC 2006 and probably in other places).
Out of 9 accepted solutions:
- 2 use somebody else's flow code that can be found on the Internet
- 1 uses somebody else's full solution for Hard Life that can be found on the Internet
According to TopCoder rules, this is not allowed (see "Using pre-written code" here).
Normally, this rule is not a big deal. However, in case of a textbook problem like this one, using code that can be found on the Internet gives a huge advantage. I knew that it's a well-known problem, but I did not copy-paste old code from somebody else because it is against the rules. Other people did, and got higher score, which is unfair.
I'm not a fan of this rule, and I'd prefer copy-pasting code from others was allowed as it is on almost all other platforms, but in the current state it leads to a disadvantage for me because I follow the rule and some others don't.
Topcoder admins, could you either declare that you won't enforce this rule, or declare that you will? misof Topcoder_Updates
An Unfair Week.
Petr Mitrichev, 12 years ago: "but even if it didn't fail, I would place below Lou because he had a pre-written implementation of the Dinic maximum flow algorithm for the hard problem"
Link to Petr's blog
History repeats itself!
This is a fair point.
I've also found one more rule, which is not enforced: "Pasting large libraries of code into each submission with the intent of only using a small percentage (if any) is against the Excessive / Extra Code Rule.".
"Pasting prewritten code is forbidden, but if you decide to paste large libraries anyway, pleams do nomt leamve a lot of unumsed comde"
They have played us for absolute fools
as far as I remember, Pasting prewritten code is allowed, pasting code prewritten by someone else is not
This rule is pretty strange per se. If I use a library as reference and retype everything on my own, can I claim that I write the code? Or do I need to rename some variables, change some coding style? A rule that leaves such gray area shouldn't be used in my opinion.
Welcome to TopCoder.
I completely agree that banning prewritten code (even by someone else) is bad idea for at least two reasons (it's not really enforceable and when you don't have it, original problems are encouraged).
I was just pointing out that two rules mentioned by Golovanov399 are not contradictory per se
So, when I mess up TC rounds, I can ask for the enforcement of this rule to disqualify random solutions?
But it's so normal for you to win a contest fair and square.
I am sure you will find it more satisfying winning a contest despite the countless unfair tricks other people use.
There's no point in banning pre-written code if the contest isn't onsite, since the rule won't be enforced anyways. I wonder why TC still does it.
Is it fair that some people already solved similar problem compare with those didn't?
It's also identical to a problem given in old Slovak trainings (2008) given by Misof, only that one had higher constraints. I remember that one because it gave me so much trouble to upsolve (and only 9 people have solved it there so far), not sure if Misof remembers that exactly.
Thank you for bringing this to our attention. We obviously don't have the resources to check all submissions in all competitions for rules compliance. But, as stated in the rules, Topcoder members always have the option to contact us when they feel that a submission violates a particular policy, and all such reports are always thoroughly investigated. In this particular case, submissions that include third-party code do indeed violate the rules that were in place for this particular round, and once we finish the investigation, the submissions that were found to violate the rules will be rejected and their authors will score zero points for that particular problem.
Apologies for the delay response.
If Codeforces had fire emoji, that's how I would react
Let me do it for you, 🔥
CodeChef_admin, Please make Topcoder_Updates your inspiration
No please don't
Lol, why not Only in this matter of responding to complaints
I got your point but you took a worst example
Did you even read what people commented above? This is like when you made a mistake but instead of admitting and correcting it, you decided to double down.
I can't wait for the days when they receive 50 complaints per round and see how TC would have the sufficient resources to address all of them.
Hard to imagine 50 participants doing SRMs...
What are your complaints exactly?
Yeah, people are scum, we are not gods, we can't change human nature.
AFAIK, our software for this was assuming that plagiarism would happen in small groups, while in this brave new world it's "from one to many". We are working on improving the plagiarism checker.
How exactly? On what authority?
That is an insane proposition.
Hey y'all. I understand that this may be upsetting, and I'm sorry that this whole thing had to happen. Let me offer my personal perspective.
If the round was only a fun round, it would certainly be better to let the people off with a warning, and that's what we would have done. But as the round does count towards TCO 2022 qualification and the submissions do technically violate the rules of the SRM in which they were submitted, we have to enforce the rules once we are aware of their violation.
As we aren't happy with this situation either, I am currently working on a rules update for Topcoder I hope to have in place in the very near future. It should bring the rules to a more sensible modern standard: unused code only matters if loads of it are used for obfuscation, and you may submit anything you are legally allowed to submit (including others' code, as long as it was released under a license that allows you to do it). Hopefully, this will help prevent similar unfortunate situations in the future.
(These rules should also be used for the upcoming TCO 2021 online finals. The finalists will be notified about this once it's official.)
Note that submitting someone else's code found on the internet is still not necessarily legal, not even here in Codeforces. But, of course, the primary responsibility should be on me and our problem setters to prepare problems such that the only stuff that can reasonably get copied in order to solve a task are standard algorithms from code libraries.
The official rules have now been updated:
20. USING PRE-WRITTEN CODE
TopCoder previously used to require that all your submissions have to be completely authored by you. Starting from TCO 2021 online finals this rule has now been relaxed as follows: You are responsible for being legally allowed to use all the code included in your submission, and for being able to demonstrate this. More precisely:
You may use any code you authored during the competition.
You may also use any code you personally authored before the competition, unless there are legal reasons that prohibit you from doing so.
You are also allowed to include (and modify) any other code authored by a third party, as long as it is verifiable that this third-party code has been written and published before the start of the competition under a license that allows you to include it in your submission (and modify it, if applicable).
Regarding the last item, please note that public availability of code does not automatically give you the legal right to use it. It is always your responsibility to make sure that you are not violating the license or copyright of the third-party code, and in case your submission is investigated for violation of this rule, it is your responsibility to produce evidence that you used the third-party code in a legally allowed way.
Also note that by submitting any source code you agree to license to Topcoder the right to use and publish said code. If your submission includes any third-party code, it is also your responsibility to make sure that its license allows you to do this.
We encourage any TopCoder competitor to notify us in the event that they have evidence that a code submission during a rated event violates this policy.