Petr's blog

By Petr, history, 3 years ago, In English

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

  • Vote: I like it
  • +526
  • Vote: I do not like it

»
3 years ago, # |
  Vote: I like it +567 Vote: I do not like it

An Unfair Week.

»
3 years ago, # |
  Vote: I like it +157 Vote: I do not like it

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!

»
3 years ago, # |
  Vote: I like it +49 Vote: I do not like it

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.".

  • »
    »
    3 years ago, # ^ |
      Vote: I like it +34 Vote: I do not like it

    "Pasting prewritten code is forbidden, but if you decide to paste large libraries anyway, pleams do nomt leamve a lot of unumsed comde"

    • »
      »
      »
      3 years ago, # ^ |
        Vote: I like it +40 Vote: I do not like it

      They have played us for absolute fools

    • »
      »
      »
      3 years ago, # ^ |
        Vote: I like it +38 Vote: I do not like it

      as far as I remember, Pasting prewritten code is allowed, pasting code prewritten by someone else is not

      • »
        »
        »
        »
        3 years ago, # ^ |
          Vote: I like it +90 Vote: I do not like it

        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.

        • »
          »
          »
          »
          »
          3 years ago, # ^ |
            Vote: I like it +71 Vote: I do not like it

          Welcome to TopCoder.

        • »
          »
          »
          »
          »
          3 years ago, # ^ |
          Rev. 3   Vote: I like it +36 Vote: I do not like it

          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

  • »
    »
    3 years ago, # ^ |
      Vote: I like it +6 Vote: I do not like it

    So, when I mess up TC rounds, I can ask for the enforcement of this rule to disqualify random solutions?

»
3 years ago, # |
  Vote: I like it -95 Vote: I do not like it

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.

»
3 years ago, # |
Rev. 2   Vote: I like it +33 Vote: I do not like it

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.

»
3 years ago, # |
  Vote: I like it -63 Vote: I do not like it

Is it fair that some people already solved similar problem compare with those didn't?

»
3 years ago, # |
  Vote: I like it +43 Vote: I do not like it

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.

»
3 years ago, # |
  Vote: I like it -36 Vote: I do not like it

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.

  • »
    »
    3 years ago, # ^ |
      Vote: I like it +29 Vote: I do not like it

    If Codeforces had fire emoji, that's how I would react

  • »
    »
    3 years ago, # ^ |
      Vote: I like it -49 Vote: I do not like it

    CodeChef_admin, Please make Topcoder_Updates your inspiration

    • »
      »
      »
      3 years ago, # ^ |
        Vote: I like it +95 Vote: I do not like it

      No please don't

      • »
        »
        »
        »
        3 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Lol, why not Only in this matter of responding to complaints

        • »
          »
          »
          »
          »
          3 years ago, # ^ |
            Vote: I like it +28 Vote: I do not like it

          I got your point but you took a worst example

        • »
          »
          »
          »
          »
          3 years ago, # ^ |
            Vote: I like it +16 Vote: I do not like it

          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.

          • »
            »
            »
            »
            »
            »
            3 years ago, # ^ |
              Vote: I like it +96 Vote: I do not like it

            Hard to imagine 50 participants doing SRMs...

    • »
      »
      »
      3 years ago, # ^ |
        Vote: I like it +59 Vote: I do not like it

      What are your complaints exactly?

      There is cheating!

      Yeah, people are scum, we are not gods, we can't change human nature.

      You must do plagiarism checks!

      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.

      You must ban all those YouTube videos and Telegram channels!

      How exactly? On what authority?

      You must allow us, brave cheater warriors, to report solutions, and then check them by hand!

      That is an insane proposition.

  • »
    »
    3 years ago, # ^ |
      Vote: I like it +78 Vote: I do not like it

    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.

»
3 years ago, # |
  Vote: I like it +100 Vote: I do not like it

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.