Rule Change for August Contest / Guidelines for Disqualification

1 min read

Crème brûlées,
Based on the feedback we received from the July contest we have slightly modified the rules for the August Challenge. This time around we will not be rejudging submissions with new test data. To prevent people from precomputing solutions we will limit the number of submissions to the challenge problem to 20 per calendar day. We will reevaluate after the competition to see if this method has the intended results.

We would like to mention once and hopefully for the last time the guidelines for disqualification:

  • Any form of collaboration including (but not limited to) discussing problems, asking someone to review your code, asking for output for a set of inputs, posting questions on other forums, etc…
  • Hardcoding output for a specific set of inputs. It is ok to run tests to verify the size of inputs and some min/max conditions to help you design your algorithms. But hardcoding output for a specific set of inputs is not allowed.

We reserve the right to ban users based on suspicion of cheating.

We are also happy to announce a weekend long competition at the end of August. Details on this will be announced soon. We are also planning a team based competition for September, this may be judged in the style of ACM-ICPC competitions (time-based, penalities for incorrect submissions). We’ll let you know.

Best of luck!

Cheers,
Cheffy

We Expanded Our Kitchen With A New YouTube Channel!

Since the beginning of time, we have aimed to provide various learning opportunities for the community. For the last 11 years, we have done...
debanjan321
2 min read

Our Measures Against Plagiarism

What sets the passionate programmers apart from the ones who resort to plagiarism in coding competitions? We believe it is the love for programming....
admin
2 min read

Breaking Records And Making Impact – July Lunchtime 2020…

Last to last weekend was no time to relax and unwind because that weekend was CodeChef Lunchtime 2020. The 3-hour challenge saw 95,030 submissions...
debanjan321
2 min read

42 Replies to “Rule Change for August Contest / Guidelines for Disqualification”

  1. I think the second rule (“hardcoding output for a specific set of inputs is not allowed”) is unnecessary.

    1. It’s quite ambiguous. What if the code says “if n=0 then return 0;”? That’s hard-coding an output for a specific input.

    2. If a contentant wants to produce a specific result for specific inputs (for example, a few small exceptional cases), he’ll achieve it somehow, without explicitly “hardcoding” the output. The line between hardcoding and softcoding (the opposite of hardcoding) is blurry, and unnecessary.

    I think the purpose of the rule is to avoid the situation where a contestant deduces or guesses the complete input data and/or guesses the correct output data, and then just submits code to output that.

    But that just shows the weakness in the problem or the data (it’s really small or easily guessed or the output is easily guessed).

    If such a situation arises (the contestant knows exactly what to output), the rule won’t help. The game will become strange – how to output the perfect output which you know exactly, without hard-coding it. They will probably find a way to compute it somehow. I think in such a case, it’s best to just let them submit it, the game might result in a multi-person tie, and the winner chosen randomly, which is fair.

    The restriction feels very artificial, especially since it’s quite unclear what’s not allowed. Competitions such as IOI, TopCoder, ACM ICPC don’t have such restrictions – for example you could tabulate all possible inputs and outputs in a big hard-coded array as your solution.

    The solution is to make data and outputs large enough and random enough to be unguessable. If that’s not possible for a given problem, then the rejudging approach like in the July contest might be better.

  2. I think the second rule (“hardcoding output for a specific set of inputs is not allowed”) is unnecessary.

    1. It’s quite ambiguous. What if the code says “if n=0 then return 0;”? That’s hard-coding an output for a specific input.

    2. If a contentant wants to produce a specific result for specific inputs (for example, a few small exceptional cases), he’ll achieve it somehow, without explicitly “hardcoding” the output. The line between hardcoding and softcoding (the opposite of hardcoding) is blurry, and unnecessary.

    I think the purpose of the rule is to avoid the situation where a contestant deduces or guesses the complete input data and/or guesses the correct output data, and then just submits code to output that.

    But that just shows the weakness in the problem or the data (it’s really small or easily guessed or the output is easily guessed).

    If such a situation arises (the contestant knows exactly what to output), the rule won’t help. The game will become strange – how to output the perfect output which you know exactly, without hard-coding it. They will probably find a way to compute it somehow. I think in such a case, it’s best to just let them submit it, the game might result in a multi-person tie, and the winner chosen randomly, which is fair.

    The restriction feels very artificial, especially since it’s quite unclear what’s not allowed. Competitions such as IOI, TopCoder, ACM ICPC don’t have such restrictions – for example you could tabulate all possible inputs and outputs in a big hard-coded array as your solution.

    The solution is to make data and outputs large enough and random enough to be unguessable. If that’s not possible for a given problem, then the rejudging approach like in the July contest might be better.

  3. The rule for the challenge is quite unfair for people who will get time only in weekend. Possibly you at least need to allow us to carry our submissions forward.
    This is definitely going to be biased towards people who are free all days 🙁

  4. The rule for the challenge is quite unfair for people who will get time only in weekend. Possibly you at least need to allow us to carry our submissions forward.
    This is definitely going to be biased towards people who are free all days 🙁

  5. Prunthaban says: “allow us to carry our submissions forward”.

    Ha! You mean, the same total limit for everybody instead of a per-day limit?

    On July 14, Prunthaban said: “So in-case if we want to implement a limit what about making it a ‘per day’ limit?”

  6. Prunthaban says: “allow us to carry our submissions forward”.

    Ha! You mean, the same total limit for everybody instead of a per-day limit?

    On July 14, Prunthaban said: “So in-case if we want to implement a limit what about making it a ‘per day’ limit?”

  7. @Prunthaban: “The rule for the challenge is quite unfair for people who will get time only in weekend.”

    Well – that’s why they call it a long contest 🙂

  8. @Prunthaban: “The rule for the challenge is quite unfair for people who will get time only in weekend.”

    Well – that’s why they call it a long contest 🙂

  9. @Tomek
    I think there are 3 ideas actually and my current one is to go with (3),
    1. Have a single limit for all days – Now people might tend to exhaust all their submission on day 1.
    2. Have per-day limit – Now people who do not submit on a day gets effectively fewer submissions.
    3. Per day limit with carry forward – Now people cannot exhaust their submissions on day 1 and at the same time will not lose on submission count just for missing one day. So this is best of both worlds. Isn’t it?

  10. @Tomek
    I think there are 3 ideas actually and my current one is to go with (3),
    1. Have a single limit for all days – Now people might tend to exhaust all their submission on day 1.
    2. Have per-day limit – Now people who do not submit on a day gets effectively fewer submissions.
    3. Per day limit with carry forward – Now people cannot exhaust their submissions on day 1 and at the same time will not lose on submission count just for missing one day. So this is best of both worlds. Isn’t it?

  11. I don’t really have a strong preference, either is fine with me.

    You seem to prefer 3 > 2 > 1, but I see 1 and 3 as almost same. If one doesn’t want to waste all his submissions on day 1, then just don’t do it, the server doesn’t need to enforce it for them.

  12. I don’t really have a strong preference, either is fine with me.

    You seem to prefer 3 > 2 > 1, but I see 1 and 3 as almost same. If one doesn’t want to waste all his submissions on day 1, then just don’t do it, the server doesn’t need to enforce it for them.

  13. I mean, if your argument is “I only have the last few days free, so I should be able to submit 200 times in that last day”, somebody else could say “I only have the first day free, I want to submit 200 times on the first day”.

    I think 20 per day is actually fine.

  14. I mean, if your argument is “I only have the last few days free, so I should be able to submit 200 times in that last day”, somebody else could say “I only have the first day free, I want to submit 200 times on the first day”.

    I think 20 per day is actually fine.

  15. Thank you all for your feedback. It is extremely valuable.

    @Tomek – agreed on the hardcoding of solutions, with good test data this shouldnt be an issue. We’ve removed this restriction.

    We will try 20 submissions to the challenge problem daily and see how it works. We are open to modifying this for future competitions.

  16. Thank you all for your feedback. It is extremely valuable.

    @Tomek – agreed on the hardcoding of solutions, with good test data this shouldnt be an issue. We’ve removed this restriction.

    We will try 20 submissions to the challenge problem daily and see how it works. We are open to modifying this for future competitions.

  17. My only concern is 20 seems very less 🙁
    I usually do not know which solution is going to give more points and I will have 100+ minor modifications (like last time -: rather than doing a DP on row and colum together, doing it first on row and then on column performed better 😐 which was unintuitive to me).
    Now there is only one way out for me.
    I need to write my own tester, own random test-case generator. May be that will be fun too 🙂

  18. My only concern is 20 seems very less 🙁
    I usually do not know which solution is going to give more points and I will have 100+ minor modifications (like last time -: rather than doing a DP on row and colum together, doing it first on row and then on column performed better 😐 which was unintuitive to me).
    Now there is only one way out for me.
    I need to write my own tester, own random test-case generator. May be that will be fun too 🙂

  19. Could you please clarify what you mean by hard coding values? We do need to hard code output values for some corner cases like the base case or say when triangles are involved and less than 3 points are supplied, we might want to print 0 as the output. It might sometimes be insane to handle such cases using the general algorithm. It might make the algorithm complex. It is much better to take care of these cases separately and print 0 and write an algorithm assuming n >= 3.

  20. Could you please clarify what you mean by hard coding values? We do need to hard code output values for some corner cases like the base case or say when triangles are involved and less than 3 points are supplied, we might want to print 0 as the output. It might sometimes be insane to handle such cases using the general algorithm. It might make the algorithm complex. It is much better to take care of these cases separately and print 0 and write an algorithm assuming n >= 3.

  21. System: July 29th, 2009 at 11:25 pm
    tomek successfully challenged the xx point solution of prunthaban.

    And @ prunthaban: That free guy needs may be only few hours on the weekend to get them all..so no need to change the rule for him 😛

  22. System: July 29th, 2009 at 11:25 pm
    tomek successfully challenged the xx point solution of prunthaban.

    And @ prunthaban: That free guy needs may be only few hours on the weekend to get them all..so no need to change the rule for him 😛

  23. @Tomek – We agree that this would increase the level of difficulty and make it more challenging, but there are many people on the site who are beginners. Our goal is to help people become better programmers and we are not sure if imposing a limit will accomplish this. We are open to this though, and will consider it for future contests.

  24. @Tomek – We agree that this would increase the level of difficulty and make it more challenging, but there are many people on the site who are beginners. Our goal is to help people become better programmers and we are not sure if imposing a limit will accomplish this. We are open to this though, and will consider it for future contests.

  25. My point wasn’t about difficulty, but the issue with people submitting a massive number of solutions to get significant information about input data (or the whole of input data) – the issue is not unique to the challenge problem.

    I don’t think the 20 per day limit really influences difficulty much, unless you’re using those submissions to collect test data information.

    I just don’t see why an exception is made for the challenge problem, unless other problems are not meant to be relevant to the competitions (but then, why would they be part of the competitions).

  26. My point wasn’t about difficulty, but the issue with people submitting a massive number of solutions to get significant information about input data (or the whole of input data) – the issue is not unique to the challenge problem.

    I don’t think the 20 per day limit really influences difficulty much, unless you’re using those submissions to collect test data information.

    I just don’t see why an exception is made for the challenge problem, unless other problems are not meant to be relevant to the competitions (but then, why would they be part of the competitions).

Leave a Reply