For Developers
Create Your Problem
Problem setters at TechGig have access to a special dashboard for adding problems. This also helps them in testing their problems directly on Code Judge. You are not supposed to email the problems.
For each problem you submit, you must provide the following information:
- Problem statement: It must contain the description of the problem, format of input and output and the constraints on each of the inputs in a separate section.
- Input and output files: Set of input test case files and corresponding output files that are used to judge the solution.
- Difficulty level: Difficulty level of the problem which is to be agreed upon by both the setter and tester.
- Solution: Actual solution to the problem that is well commented.
- Editorial: An editorial describing the expected algorithm to solve the problem.
- Tags: Tags to be entered for each problem. These tags must be one of the following:
- Easy
- Medium
- Hard
- Sample solutions (Optional): Actual solution to the problem.
You can put any other relevant tag you might want to. But the tags mentioned above must be there. Valid example of tags for a problem is: Easy, Algorithms, Data-Structures, String-Manipulation
General guidelines for writing problem statement:
- Problem statement must be clear with no ambiguity so that everyone interprets it in the same way.
- It should clearly specify the format of input and output along with constraints (if any).
- It must be long enough to be descriptive and short enough to be interesting.
- Problem statement must be properly formatted. Variables, formulae, relevant text must be put in bold.
- It must be grammatically correct.
General guidelines for choosing problems should be mentioned.
- It must not be taken verbatim from other sites.
- Solution should not be available through a simple online search.
- It must not be a standard problem. (Easy/Cakewalk problems can be standard problems.)
General guidelines for setting the problem:
- Elaborate the problem statement or build a nice story around it. It must not ask users to implement the algorithm directly. The final problem statement must be interesting and engage users to think and solve the problem.
- You can add as many test case files as you can. It must cover all corner cases to make sure that the solution that passes the test files is correct.
- A good tip here will be to have easy test cases, the cases that have lower constraints, that are not corner cases in few of the test files. This is because a user who cannot solve the problem completely or writes a correct but naive solution, will get the partial credit on the easy ones.
- Few of the test files should have input cases of maximum limit to make sure a naive solution exceeds the time limit on those input files.
Apply for Problem Setting/Testing
If you are interested in setting problems for TechGig, write an email at customercare@techgig.com.
Social Login