CodeChef
  • PRACTICE
    • Easy
    • Medium
    • Hard
    • Challenge
    • Peer
  • COMPETE
  • DISCUSS
    • Wiki
    • Forums
    • Blog
    • Twitter
  • COMMUNITY
    • CodeChef Meetups
    • Campus Chapters
    • Host Your Contest
    • User Groups
    • CodeChef TechTalks
  • HELP
    • Frequently Asked Questions
    • FAQ for Problem Setters
    • Ranks
    • Tutorials
  • ABOUT
    • About CodeChef
    • Team CodeChef
    • Press Room
    • CEO's Corner
    • About Directi

Rule Change for August Contest / Guidelines for Disqualification

Posted by The Chef on July 29th, 2009 Filed in About, Contests View Comments

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

  • Share/Bookmark
  • http://cheatchef.com xxyyzz

    Will the user who was removed from the ranklist be permitted to give future contests?
    There has be no information about why it was done though.

  • http://cheatchef.com xxyyzz

    Will the user who was removed from the ranklist be permitted to give future contests?
    There has be no information about why it was done though.

  • http://www.codechef.com The Chef

    @xxyyzz Future participation will be determined on a case by case basis. There is no need to publicize these incidents.

  • http://www.codechef.com The Chef

    @xxyyzz Future participation will be determined on a case by case basis. There is no need to publicize these incidents.

  • Tomek Czajka

    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.

  • Tomek Czajka

    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.

  • Prunthaban

    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 :(

  • Prunthaban

    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 :(

  • Vinay Emani

    @ Prunthaban : But then, who are free all the time? Just wondering. Nothing serious!

  • Vinay Emani

    @ Prunthaban : But then, who are free all the time? Just wondering. Nothing serious!

  • Prunthaban

    @vinay I know one person who is free all the time ;-) He has finished his undergrads and waiting to travel to US for MS ;-)

  • Prunthaban

    @vinay I know one person who is free all the time ;-) He has finished his undergrads and waiting to travel to US for MS ;-)

  • Tomek Czajka

    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?”

  • Tomek Czajka

    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?”

  • Tomek Czajka

    @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 :)

  • Tomek Czajka

    @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 :)

  • Tomek Czajka

    Question: is the 20 submission limit every day in IST time, midnight to midnight?

  • Tomek Czajka

    Question: is the 20 submission limit every day in IST time, midnight to midnight?

  • Prunthaban

    @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?

  • Prunthaban

    @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?

  • Tomek Czajka

    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.

  • Tomek Czajka

    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.

  • Tomek Czajka

    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.

  • Tomek Czajka

    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.

  • http://www.codechef.com The Chef

    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.

  • http://www.codechef.com The Chef

    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.

  • Prunthaban

    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 :-)

  • Prunthaban

    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 :-)

  • http://www.codechef.com The Chef

    @pruntz – thats the point :)

  • http://www.codechef.com The Chef

    @pruntz – thats the point :)

  • Ravi

    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.

  • Ravi

    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.

  • http://www.codechef.com The Chef

    @ravi – this rule no longer exists…

  • http://www.codechef.com The Chef

    @ravi – this rule no longer exists…

  • Sanket Shah

    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 :P

  • Sanket Shah

    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 :P

  • Tomek Czajka

    BTW, I don’t understand why the limit doesn’t apply to the non-challenge problems.

  • Tomek Czajka

    BTW, I don’t understand why the limit doesn’t apply to the non-challenge problems.

  • http://www.codechef.com The Chef

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

  • http://www.codechef.com The Chef

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

  • Tomasz Czajka

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

  • Tomasz Czajka

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

blog comments powered by Disqus

Recent Posts

  • A new boost for CodeChef Long Contest!
  • The February Long Challenge has a Surprise in store!
  • Gennady’s blitz·krieg!
  • An overwhelming participation for IOPC2012 :)
  • IIT-Kanpur along with CodeChef presents Techkriti-IOPC 2012

Categories

  • About (15)
  • Announcement (91)
  • Campus Chapters (4)
  • Contests (95)
  • Events (17)
  • Features (19)
  • Meetup (4)
  • Open Source (1)
  • Practice Problems (6)
  • Prizes (32)
  • Programmer of the Month (27)
  • Tech Talks (2)
  • Tutorials (24)
  • Winners (44)

Recent Comments

  • Gennady on A new boost for CodeChef Long Contest!
  • Anonymous on A new boost for CodeChef Long Contest!
  • hacker007 on A new boost for CodeChef Long Contest!
  • Tejwinder91 on The February Long Challenge has a Surprise in store!
  • sourcecode on The February Long Challenge has a Surprise in store!

Recent Pictures

Blogroll

  • Documentation
  • Plugins
  • Suggest Ideas
  • Support Forum
  • Themes
  • WordPress Blog
  • WordPress Planet

Archives

  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009

Company Blogs

  • Directi
  • .pw Corp Blog
  • CEOs Blog

Careers@Directi


  • About CodeChef
  • About Directi
  • CEO's Corner
  • CodeChef Campus Chapters
  • Blogger Community Program
  • User Group Outreach Program

© 2009, Directi Group. All Rights Reserved.

Sponsors