This is the code repository for the homework and exam.
It feels not interesting enough to only design algorithms on paper for problem in homework, so I decided to implement those algorithm in code, which is the main reason for the existance of this repository.
Besides, there are many challenging aspects and potential improvements we might ignore when writing algorithms on paper, which can be dealt with when we are really implementing it.
I try to implement each algorithm with the highest efficiency while keeping them readable as I can. If you have better solution or spot some problem in my implementation, you are welcomed to set up an issue to help me improve it.
Currently, the inputs and outputs for the program is accomplished through .in and .out files. Due to the limited power of my human brain, I only included 1 or 2 simple test cases for each problem. You may help improve the test cases by starting a pull request. The format of inputs and outputs for each problem is describe in the project wiki.