# october-2013 A+ Computer Science October 2013 Computer Science Competition Hands-On Programming Set ## Problem 1 - Mean Super easy. I had problems with this only because I hadn't touched Java in a while and had to relearn better ways of inputting data from a file. I still want to implement a system which allows better files, but that requires a lot more effort from me. I also had to re-figure-out how to do floating point rounding without a function which was effectively `round(double value, int places=0)`. Thanks Stack Overflow, again. ## Problem 2 - Twitter Unexpectedly easy. Needs no mention. ## Problem 3 - Snake This is the second hardest one in the packet, but it really doesn't have much to it. I had to use classes and figure all that out, but it was a decent exercise overall. I made a input generator for this in Python for shits n' giggles, but it didn't work too well in the end, I believe. ## Problem 4 - Similar Extremely easy, but I wish we had a larger input set so I could make sure it actually works properly. My solution could probably break if a input did not match my expectations. ## Problem 5 - Refraction Super easy, just had to write down equations on paper and remember that it's `asin` not `sin-1` like on the calculator. Interesting, but not worth mentioning. ## Problem 6 - DoubleT Wow. I spent more time on this, minutes, more than I ever should have. Hooray. ## Problem 7 - CSMEals Interesting problem, but like Problem 3, has very little to it that I can specify. Encountered weird problems while optimizing that made debugging a pain. ## Problem 8 - Climb Again, super easy. ## Problem 9 - Sexy I've never seen the word "Sexy" in a school enviroment/paper before. Geegee. ## Problem 10 - Synonyms I really liked this problem. Probably the third hardest in the packet for me. ## Problem 11 - Triple Extraordinarily hard, dear god, I hope no one else had the chance of being forced to solve this problem. Multiplying by 3, oh dear god!.. ## Problem 12 - Checkers The hardest problem in the packet. I spent a lot of time debugging how to do this problem and deciding how to do it. I probably spent an hour or so total just looking at a profiler and seeing how the values changed. The only things I could mention about this problem is that, I forgot that you can only move forward/backward depending on which side you start on. My solution allows you to switch to Red or Black checkers (though the code needs to be adjusted slightly).