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

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

Hello everyone!

So two days ago, a friend of mine told me that one of my problems on SPOJ has been used as a problem for Bubble Cup. And by coincidence I have just had this conversation:

 .

We can't be sure if it really is coincidence or attempt of gaining points in Bubble Cup in a nasty way but something made me think that the latter could with high probability be the case.

As you see, I didn't agree to give him my code but what if I did? Would it be cheating? I should mention that I didn't agree in anyway to get my problem used in Bubble cup, nor was I informed by someone from their team. I also made sure that the "Available for use in 3rd party contests" isn't checked on my problem panel in SPOJ:

I don't know if they have the rights of using my problem but surely I still have rights on my own problem. And as far as I know, it isn't a problem to discuss a problem from SPOJ, given that this is the only place I have agreed for my problem to be present.

PS: I will also appreciate if someone tells me if they have the right to use my problem in their contest? I don't know much about these things but it looks nasty to me. As Xellos pointed out, SPOJ is mentioned as a problem source (something I didn't see) so you can ignore this PS :)

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

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

The "available for use in 3rd party contests" checkbox probably applies to SPOJ only, since it doesn't show on the problem page.

While you might hold an intellectual property claim to this problem, that only applies when someone's pretending to be its author. In this case, you released your problem to the public domain and BubbleCup attributes it to SPOJ, which in turn attributes it to you (since it seems copied word by word, looking it up in SPOJ is easy). I don't see a reason to complain.

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

    Ah yeah, I didn't see it was attributed to SPOJ. Not complaining, though, was just asking :) What do you think about my main question, would it be cheating if I share the idea/code with someone?

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

      If you don't compete in BubbleCup, you're free to share your code — it's not like you agreed with the organisers not to do that. Doing it intentionally is probably a good way to get them angry, but it's not like you can't do it for your own (e.g. educational) reasons.

      If that guy doesn't (provably) compete, it's fine to ask for your code, otherwise it's up to the organisers to decide if he's cheating and all such cases should be reported to them.

      Usually it goes like this: asking for anything is automatically cheating (for him), receiving anything from you (even without asking) and not reporting it to organisers is cheating, outright copying the code off somewhere else is ok if it's public and attributed to the source, copying just some standard part off anywhere is ok.

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

        asking for anything is automatically cheating (for him)

        I know this is the usual case but here the problem is taken from a place which allows discussing the problems. And asking for the SPOJ problem doesn't sound like cheating for me. And then if he solves it on Bubble Cup, maybe he heard about Bubble Cup after solving the problem on SPOJ? Like some other people/friends have asked me about my problem and I have discussed it with them before. Considering this cheating doesn't sound quite logical for me, taking problems from SPOJ was their own choice.

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

          Not sure if it's the same for BubbleCup, but when you want to compete in most contests, you agree to not discuss the problems or use someone else's help.

          Human society allows people to talk to each other, doesn't mean talking to each other during a contest won't get you b&.

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

            True, but in most contests you don't use public problems which makes rules more clear. My point is that what we discuss is first a problem from SPOJ and only then a problem from Bubble Cup.

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

              For those who compete in BubbleCup, it's first a problem from BubbleCup.

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

                I also agree with this statement. From contestants' point of view, this is nothing but cheating. In this special case, from problem setter's point of view, he has nothing to lose, but since honest contestants won't ask the setter for solution, it's best for the setter to not discuss at all, ( second best option being, discuss with everyone ), and from contest organizers' point of view, this is just plain weird.

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

                I guess this is where our base-views split since if something is publicly open for discussions, then I don't think someone could come and say "ehm, no further discussions on this or it is cheating" but anyway it was a nice conversation :)

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

                  You're ignoring how it would actually work.

                  BubbleCup organisers absolutely can go and say "no discussion of this problem or you can't compete", but this affects only those who want to compete. If someone who doesn't compete decides to ignore it, it's the organisers' responsibility for picking problems the way they did (I'd avoid it in any serious contest).

                  It's usually a matter of courtesy.

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

                  Agreed! :)

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

    I disagree with "you released your problem to the public domain".

    Publishing a problem on an online judge does NOT automatically release it to the public domain. There is a HUGE difference between "the general public can view the problem" and "the general public may use the problem in any way they want".

    You, as the author, have the copyright. You get to specify whether and how it can be used. A good way of doing so is attaching a license -- for example, all IPSC problems and materials are currently available under the Creative Commons 3.0 Attribution-ShareAlike license.

    That being said, there certainly is a blurry line. The copyright applies to the actual data you produced: the phrasing of the problem statement and the test data. Copying those without your permission does violate your copyright. However, the abstract algorithmic idea probably cannot be protected by copyright, and if somebody produces their own problem that uses the same idea, that would be legal (albeit impolite if they knowingly copy your idea without giving you credit).

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

Definitely cheating. No doubt about it.

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

    Could you please say why you think so. My logic against your statement is that I am sharing the code of a problem which I prepared for SPOJ :)

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

      Not you, the one who asked is cheating. Since you are aware this is from an ongoing contest, it's only ethical that you refuse to help. Does a contest setter give away solutions? Had you been unaware, then you might've, but since you know, you shouldn't.

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

        But he also asks for a problem from SPOJ, how do we know he is cheating? Even if he then solves this problem on Bubble Cup, I believe it can't be counted as cheating. Maybe he heard about Bubble Cup after we discussed the problem? The same way, I have discussed it with some of my friends immediately after posting it on SPOJ and they have some advantage over the others.

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

          It's strange that they didn't ask your permission for using your problem :|

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

            If that had happened, then yeah — it would be obvious cheating. But the case is different. If it wasn't my friend to tell me, I wouldn't even open the problems. I participate in a team but personally I haven't solved anything, just entered to submit my task after hearing that it was there. It wasn't even a teammate of mine, I suppose my teammates didn't even know it was my task :D :D

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

              If this blog didn't exist, sure. What would we or Bubble Cup know what happens behind closed doors. But now that you've made it clear that you know, I think you will be a helper of a cheater if you discuss.

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

                I would be a helper of a cheater if it was cheating. I know what we are talking about but the whole thing is so half-baked...

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

                  It wouldn't be a crime if you wrote a blog post about your solution. That way the playing field is even for everyone, and bubble cup will remember to ask permission next time :) maybe even pay the problem setters. Just don't help him in private message.

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

          If you tell him the solution, then he goes and solves the problem in BubbleCup, it's cheating — should've asked the organisers for permission first.

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

Consider the case when your friend didn't tell you about their use of the problem, and you explain the solution/code. Clearly you aren't cheating. What difference does it make if you know of its use in the contest?

I think that's something for the organizers to worry about, not you. They used a public problem, so they should have considered this situation.

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

    Exactly what I think! Still it will be good to hear opposing views with argumentation :)

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

I'd tell him a solution. If it's my problem, it's up to me to decide what to do with it. If someone uses it without even asking for it, they only deserve a shame.

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

    What this guy said. It's your own public problem that you put on SPOJ before them and you have every right to distribute the solution to whoever you want at any given time.

    It's their own problem to make sure their problems are original, and not on the web.

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

Be a rebel and post the editorial in CF. #seriousadvice

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

AFAIK, SPOJ gave rights (and even testcases) to BubbleCup organisers to use problems for qualification purposes. BC is usually looking for problems where solution isn't available online, and after the qualifications, contestants write editorials for each problem, which you can find in Booklets: http://bubblecup.org/Home/Booklets

Contest is 25 days long, so it's probably expected that you can look for some resources and hints online. But if someone copy the same code as any other contestant, organisers may think they are solving problems together, which is against the rules, and can disqualify both teams.

BC mission is great, and now, after 10 years of contests, you can find editorials for more than 200 very good problems, from which more than 50 are original problems from BC Finals. I think that you should be proud that your problem is selected by them, that means it's good and fun to solve. But if you don't like that, you can tell organisers and they probably will remove it from the contest.

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

    I don't have a problem with that, neither do I feel proud. My main doubt was if what I was talking about is considered cheating but I think Xellos made this clear to me.

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

      Oh, you should be. Giving a good competitive task to community is a great thing to do :)

      For what you asked, generally speaking, it is not considered cheating by the Bubble Cup rules, as nobody can control that. But as you said, you submitted code as contestant, so if you give that code to someone else it will be cheating in this case.

      If you were not the contestant, and only the problem author who knows about BC contest with your problem, it probably wouldn't be considered as cheating for contestant which asked you, but I doubt if it's moral and it goes with competitive programming "ethics" :)

      If author don't know that problem is used in any other contest currently, and someone ask him for a solution or hint, then there is no mistake by giving solutions if author want to help, and the whole responsibility is on the person who asked.

      In any case, person who asked for the solution from author in the middle (actually beginning) of the contest, only for purpose to have more points and to appear better than others should be ashamed and I think that behaviour should be discouraged by the community and contest organisers. You gave a good example in your conversation with him :)

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

        Thanks for the good words about my problem! So in the end we all reached a consensus about the question and this is a great thing :)