Google CodeJam If you see a better algorithm for any problem, feel free to contact Don't look at design - most of these are solved with a time limit, so I haven't paid attention to craftsmanship.