It would be very good if CodeChef could provide a detailed set of test case for a given problem and at what particular test case did a particular code fail. This would be a really good initiative on your part to help people in improving the tiny small errors that are really-really hard to spot and are often committed and never spotted.
We do not release test data for various reasons. However, we firmly believe that giving away the test data is a spoiler. It kills the motivation to try that extra bit harder and kills the fun and the challenge of the unknown. We do not want our contests to take that short cut. We make all submissions visible as soon as the contest ends to let you learn from other people’s submissions. We also upload editorials for each problem with detailed explanation, so that you can learn from them. We encourage you to go through the editorials at the end of the contest and ask your questions if you have, on the page itself. Your questions will be answered directly by our problem setting panel. However, we are planning to show judge information for each submission like the time taken for run each test case, at what test case did the submission fail, etc. in the foreseeable future.
Maybe there’s a way our experiences can help you help us For example, in Serbia, binaries are tested completely different. There’s always 10 test cases, but each test case contains one set of input data. So, that way you get 10 points for each test case, and the max you can get is 100… And I still can’t see why we can’t have test cases for the tasks that are not in Compete section, that are in Practice section…
Where is the motivation to try harder when it is not even revealed why particular code produces the wrong answer? If my code compiles on ten different compilers before I submit, figuring in every possible test case on a simple solution, and displaying the exact output specified and taking the exact input specified, but I get a wrong answer with your tester - I have a feeling this situation requires modifying code to figure out how your site even WORKS over and over and over again, with no idea of where to go next because no frame of reference is provided.
Another useful idea for me is to writing in which test-case we have the problem: e.g. TLE in test-case 8. This will let us know how close we are in the correct answer!
I have to say that although it might seem frustrating during a live contest to see WA or TLE and being totally “blind”, it is also the ONLY way to help contestants to improve their skills and I speak from experience, as one time during a Codeforces problem, I was able to immediately see a pattern by looking at a test case where I was getting WA, which revealed the whole problem to me…
It can seem unfair, but trying harder, reading tutorials on a particular data structure or implementation idea along with the editorials/accepted codes once the contest ends, it’s the only true way of improving
Of course i agree that providing test vectors will give short cut to solution. But for practice problems it is better to provide test vectors. It will help in knowing the boundary conditions and exceptions that we miss during writing the code. we just wanted a preparatory standards to go for a challenge.
Rather than blindly telling that your answer is wrong, it is always good to know which case i missed causing the issue.
I remember, in my childhood I used to solve math problems but when I used to get stuck on a problem I tend to look at the answer/hint and then solve again removing that mistake. My father used to tell me, “Son, this is a wrong way of solving problems. You must think a lot of times before getting the actual answer. Think over and over again until you get the right answer. Dig every corner of your mind. Then it will help you a lot.” I remember his words, and it really helped. I do not have to say anything more for this topic, but I know that this is a good feature of NOT providing the test cases.
Disclaimer: The author of this post has put his personal opinion about his thinking on the topic. And people might still hate it or dislike it, for which author would not argue over the same.
Most of the time, we are not sure whether the problem has been correctly understood. One possible solution could be that we may provide with our test cases along with solutions to be checked whether they are correct or not. if this is not a spoiler then proper checks and balances would have to be put in place.
If by chance there is a bug in the solver then this system can very easily point that out instead of relying on persons whose wrong submissions have been accepted.
The best solution to this is to provide the number of test cases out of total in which our code fails and the number of test cases in which our soln passes!!! So that if we get W.A , a person may think that his algorithm or approach is wrong but the truth may be far from it!! May be the logic fails in one or two test cases so that the person can work on finding the corner test cases!!! Just like how hackerearth does!! That indeed is a way of saving hours of frustation and wasting time to understand the editorials which are generally cubersome and hard to understand
Bye bye codechef
No, providing the test cases restricts our thinking as in which condition our code will fail.
If you are really in a need of test cases generate it yourself. Write a script which will generate random test cases for your program and test your code and figure it yourself what should be the result of those cases.
This method will really help you a lot, also brainstorming for generating your own test cases will help you to develop a better understanding of failure situations.
Also remember usually our codes fails on edge cases so remember to run your code on randomly generated edge cases to test the result.
I don’t understand this reason! Just think of the situation when you have 150-200 or perhaps even bigger lines of code in your programme and you expect to sit for days to find a corner case! Then why don’t Topcoder cover this so called “precious data”. If Codeforces and Topcoder can give the test cases then why don’t Codechef also give! It is time to change this rule!!
i agree with nsghumman, if i have complete different algorithm then looking at someones’s code and editorial doesn’t help and after the contest is done there is no harm in revealing failed test cases.
Guys please provide the test cases it is very important to know where the code is failing..The thing about coding is that we learn about the mistakes we make and correct ourselves.Without knowing the test cases everyone is bound to make a mistake.The novice programmers don't get a chance to correct themselves and make lots of mistakes in the future it is my sincere request that you provide the test cases where the code is failing at least in the practice section of the web site.That will make things much easier.
The site administrator is a dumb person. For 4 years people are telling but he doesn’t do anything. I think he doesn’t want to change anything good in his (stable) website. He doesn’t want to introduce any new thing and he doesn’t need to change because codechef is already an established site.
@admin we will highly appreciate it if you give us the test cases on which our code got WA for practice problem it will be a great help for all.thanks
I am really glad to see that codechef doesn’t reveal the hidden test case even in practice session. Definitely it is right that it will kill the curiosity of debugging your code more and more and make to generate random test cases again and again. Other sites provide test cases like hackerearth, hackerrank etc, but these one makes you dumb and doesn’t make you think more enough like in codechef! I still remember the time when i wasted the whole day for finding the one corner test case in which my code was failing!.. but at that time i really enjoyed very well!
I joined this site today looking forward to trying the problems, I find it deeply disappointing the totally inadequate attention paid to providing test cases. I have no interest in carefully generating masses of my own test data, hardly the point of this site, nor I’m interested in playing guess the bug. Having implemented many encryption algorithms myself the idea of doing this without proper test cases is laughable. I won’t be attempting any more problems here until this issue is addressed.
Well, you must appreciate that every site has its own method and approach. Codechef’s is not providing the exact test cases, but it does provide every solution.
You may not appreciate it now, but guessing the bug yourself is very crucial in becoming a successful coder as you can give your code a new shade of accuracy with these skills.
Hope I put across my point clearly