Hi everyone!
I've been doing competitive programming for a while, and in that time, I've created different tools to help streamline my process. I have decided to release them publicly so that others can also use these tools, and I hope that some might find them helpful! This tool was mainly designed for the Codeforces platform and for C++ users, so some features might not work for other environments. To see the full description and instructions/installation, check out out the GitHub Repo.
Here is a preview for some of the tools provided:
Automatically test your code against samples
One of the cool features about this tool is the ability to test your code on sample test cases. Specifically, this tool will automatically check all files with .in
and .out
extensions in the directory you are currently in, then run those samples against your code, and print out any differences between your code's output and the expected sample output.
Parse sample input/output files from Codeforces
To pair with this feature, I also created another feature to parse the sample input/outputs on a Codeforces webpage, then download them locally into .in
and .out
files that can then be used with the previous checker
command. On top of an individual problem, this feature can also parse all the problems of a contest, creating a subdirectory for each problem, with the corresponding sample input/outputs in that subdirectory (note: the parser seems to have trouble when Codeforces uses Cloudflare during contests, but this doesn't stop you from manually creating the .in
and .out
files if needed).
Get the rating of Codeforces problems
Another small tool is the ability to get the rating of a Codeforces problem in the terminal. Personally, I disable tags in Codeforces problems, which also includes the rating tag. This feature allows me to continue to disable tags, but be able to get the rating if I want to see it.
Thanks for reading, and I hope you find this tool helpful! I hope to continue improving CPIT and provide more features/tools to enhance convenience in competitive programming. Some ideas I have are adding support for different platforms and languages outside of C++, and fixing parsing issues when Codeforces uses Cloudflare during contests. I'm also to any other suggestions, so please let me know if you have any feedback!