Are the testcases used for evaluation manually generated by humans or is it generated by some sort of automated testcase generator?
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 155 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
10 | djm03178 | 152 |
Name |
---|
Authors prepare some small handcrafted tests and they implement generators to create more tests. I'm not sure what you mean by "automated" here. Nobody writes thousands of numbers by hand. And there are no universal generators that would automatically give you tests for any problem.
There are majorly three type of test cases according to me. One:- Edge Cases ( Corner Cases ) Second:- Simple cases Third:- Cases satisfy the highest constraint given in the question.
Each has its own agenda. The third type of test cases is used to verify complexity of the code. If it can pass for highest given constraint. Like, suppose there is a dynamic programming question which needs to solve in O(n*n) and someone solve it using recursion. Those two solutions are differentiated by this type of cases. These are generated using some automated program in a specific constraint as required in the problem. Secondly, Simple Cases are used to check the correctness of your code. Where is your code is giving the correct answer on given test cases or not. Generally, these are generated using both of above method as you mentioned. Now edge cases are generated manually. It is used to see if the participant considered the edge cases. Where the general solution won't work and they need to find out the answer using some other way. As mentioned they are generated manually.
I hope, I explained it well.