USACO: Section 1.3 -- PROB Barn Repair

Source code

Lession Learned: This is the first non-trivial Gready Algorithm I wrote. It costs a bit of time for me to get it right. For non-trivial algorithm, the pseudocode design&check is really the crucial part.
1. In the complex loop&algorithm, it is helpful to use "Assert" to assist debugging.
2. In the complex algorithm, always verify if the logic is correct after writting one code statement. The logic must keep clear!
3. Don't make quick assumption, for example, "If the input data is sorted...". This is the second time I made wrong assumption.
4. Check the edge condition again. Do remember to spend some time to check the input data's edge condition. It worths the time!

你可能感兴趣的:(USACO)