Most of you are saying debugging is important skill which obviously true. But what you are forgetting is many time after hours of trying to debug you still don’t get why it isn’t passing. Then you just give up on the problem, you can’t go on forever. Instead if you know where your code is failing then you can try to correct your code. In any case if you don’t want to see the test cases you don’t have to nobody is forcing you.
That is when u need help of other solutions or ur friends or discuss… If it would be easily available then everyone will give up earlier… ik it’s upto us but then too if it was easily available then why a “beginner” will go for debugging…
Why wouldn’t a beginner go for debugging? Anybody who wants to learn to solve problems in contest will try to learn it. On the other hand if we know test cases we can at least still learn the concept instead of giving up.
The giving up one is a valid point. But more often than not, such cases are very specific to the approach you employed. A common bank may be hard to accommodate this.
Regarding revealing all test cases, most of the people (especially newcomers) arent disciplined enough to know how to use that. This move will do more harm as they will have poor debugging skills leading to poor performance in contest and demotivation.
Yes, editorialist will take setter and tester’s help only xD. But mostly there are cases which may or may not be “corner cases” depending on your approach. For that, analysis of solution is required.
If u give some students a “copy chit” in exam and ensure that they won’t be punished then many of them will take it… they won’t think about themselves… that’s why people keep supervisor even in practice tests…
UVA online judge has an excellent utility udebug for comparing outputs to given test cases they provide. I think if you provide the test cases someone can work to make such a utility available to people.
It would be very much helpful in debugging the code
The few issues that come to our mind while implementing this issue are as follows.
-
What do we do if your submission fails on a very large case? In that case, if we allow downloading the test files, then one can simply download all the test data of the problem itself which makes it pretty easy for someone to clone the problem. Not a big concern, but definitely we would like to see the view of the community regarding this.
-
The most of the times we have test cases in the problems and for each test case, the test data is mostly maximal test cases with a very few minimal test cases. Also, the order of the maximal and the minimal test cases are not from the minimal to maximal. So, it might happen that your submission failed on some large test cases and we show you that which might not be that helpful for debugging purposes.
These are one of the two main concerns, if you have some views regarding these, please feel free to share. We have this task in our mind and are thinking of some possible ways to resolve these.
I think not providing the test cases help us to improve our debugging skills and due to “no option” we are forced to apply different concepts and analyse our solution again and again which helps us to understand our implementation and the concept deeply.
But it is only helpful when we have “no option” and still we want to get it perfect so that we give it some more try , but what happened if we have “no option” at all ?? we have to move forward while skipping that problem which is not desirable for anyone.
At the same time what happened is,we get some unexpected verdicts due to wrong test input files or weak test cases which is not a fault of programmer in this case it is must to have the test cases so that we can report someone to look into the matter.
The core thing which i feel for any contest is that we have “no option” during the contest, all we have to do it by ourselves which is helpful for improvement but after contest we have editorials and many more options ,
I think we can do something similar to the testcases we can set a number “K” after “K” number of attempts that user is eligible to have test cases anytime after the contest.
Then people will share test cases by making fake submission… which isbnot desirable… U can always ask for help to people after lot of efforts from you… Many people can help u with that actually if ur soln is neat enough and u did tried properly to get answer before asking
if someone is passing 90% of testcase, thenafter he wiil be eligible to see the testcases which are failing.
i think this is better idea.
@l_returns it is very much similar to share your code during contest and in that case we can’t do much,
so after contest you can choose if you are willing to do it by yourselves or you want testcase,
see we can not make it as perfect as it should be ,every funtionality have some bugs all we can reduce it,yes we can implement it with some modification so that these thing can be solved, and after contest user is on his own.
@nitish235 if some of the input files are having bug then it is impossible to pass 90% testcases in that case we will never get the testcases ,and at the same time it is very difficult to decide that how much % your code should get passed to be eligible for testcases.
The question setter or Tester provide input testcases, so I dont think testcases contains any type of bugs.
This issue has been raised multiple times and it was always agreed that making test cases public will only reduce the efforts of user to solve the problem rather than increasing the skill to find the corner cases. After giving a lot of attempt on a problem without getting success due to some corner case, when the user sees the actual input causing WA, instead of solving for the general corner case, he usually handles that specific scenario and go ahead and often gets WA subsequently which does not solve the problem of helping user learn to find the error.
I was also not able to get WRKWAYS accepted just due to one case and I used one accepted solution to find the scenario. I wrote a test case generator and compared the output of accepted and my solution on that and could find the unhandled case in no time.
see this
https://discuss.codechef.com/questions/126761/wrong-test-input-in-stmincut?page=1#126931
it is possible to have bug in input test caes.
I totally aggred with You!
Stressing your solution helps in 95% cases.
Exactly what I said, that most of test cases are maximal. But I think editorials can help for smaller cases wherever applicable