In 2013, the International Olympiad in Informatics will be held in Brisbane, Australia. The IOI is the world's premier international computer programming competition for high school students from over 80 countries. This blog catalogues the trials and tribulations of Australia's eight contestants through their training and experience at the IOI, July 6th-13th.
Friday, 12 July 2013
IOI almost over!
However, now the competition is over, and as a team, Australia did really well. We achieved three silvers (with an almost gold :( ) and a bronze on the official team, and 2 bronzes on the unofficial team. I almost made bronze, being a few points off the cutoff. For day 1, I didn't do as well as I wanted to, however, I kinda made up for it in day 2, being able to score 90 for the problem called "robots", except I missed the easy problem, and I ended up =153rd.
The next day was the second excursion to Australia zoo ... that we didn't go to. Instead of having to wake up at 6:30 - 7 to make it on time, we only had to wake up 8 - 8:30 to be able to eat breakfast. For our 'excursion' we went to South Bank for movies - at really cheap prices ($5.50) - and watched "Man of Steel". So apparently, RSS feeds deliver video data straight to the reader. TIL
The IOI is now almost over, with just the closing ceremony to go. It has been a fun experience competing and meeting other teams, and we were lucky to get a guide who has been awesome for the whole camp.
Tuesday, 9 July 2013
The tl;dr of Day 1
Australia 1 faired very, very well yesterday; the best we have seen from day 1 in a few years. Both Michael/GP and Ray did exceptionally well, both within the top 20. James and Ishraq also sit in good positions to take out medals.
Australia 2 also did remarkably well given the circumstances for which we had not trained, with everyone scoring points; a non-trivial task in the pandemonium!
Let's hope we can all keep up the good work for tomorrow (Day 2) and see if Aus1 can bring home some medals!
Go 'Straya!
Monday, 8 July 2013
Saturday, 6 July 2013
OMG Day Zero
Today was an adventure.
We woke to discover that due to Jewish laws, Shalom college does not serve breakfast on Saturdays, so at 8:30 we were driven by taxi to the airport hungry. We planned to eat breakfast at the airport, but upon arrival we discovered that our plane was leaving about half an hour earlier than we were expecting. This meant we had about five minutes to order and eat breakfast. It was during this five minutes that we realised how much of a misnomer 'fast food' is. Thankfully, due to the amazing power of airport inefficiency, our plane had not left by the time we arrived at the gate.
After our arrival in Brisbane, we rode a bus to the University of Queensland. When we got to our destination, we met our guide, Brooke. She seems like a well informed and helpful guide, which can only be a good thing. Brooke took us to our college and showed us our rooms, which are pretty standard college rooms. It was at this point that my phone notified me that Draftable, a Melbourne-based software company who I did an internship with over last summer holidays, wrote a wonderful blog post wishing me luck.
After this, Brooke took us on a tour around the campus, and showed us the competition hall, where we found Evgeny, a past Australian IOI medallist. Brooke then had to go to a mysterious guide meeting, and we made our way back to the college. On our walk a bus drove past, where we caught a glimpse of Tony Sun, a kiwi IOI contestant. This of course, meant that we had to give chase to the bus, so we could greet the kiwi team.
We had dinner. Standard college fair. Then some of us made a trip to the IGA to get some junk food. Then we bonded with other teams. (Specifically the NZ and UK teams). Badly paced story is badly paced.
Friday, 5 July 2013
OMG IOI
This IOI will also be the last high school informatics competition I will compete in (except for, maybe, the AIO). I've been doing informatics since I learned Visual Basic 6 for the 2008 AIO in year 7, all because I received a little green pamphlet after sitting the AIC. It will be strange to live without being able to look forward to the next step in my path to an IOI. </drama>
The IOI should be fun. I'm pretty pumped.
Training Day 5
The teams are currently sitting their last practice exam before the actual IOI, for which the first exam day is Monday. That's under 72 hours away!
Here's a problem from yesterday's exam which no one solved:
(Given a convex polygon with up to 50,000 vertices, what is the largest radius r such that two r-radius circles can be placed inside the polygon without intersection?)
In today's exam, one of the problems requires students to help plan the NBN roll-out.
This is quite a difficult problem. Experienced readers might notice that this problem is very similar to finding a minimum spanning tree, which is a well-known problem with fast and relatively simple algorithms that solve it. Unfortunately because the number we're minimising is the product of total time and total cost, we can't easily build up our MST one cable at a time, the way we would if we were minimising only time or only cost. The first, and simplest observation students will have to make is that for a solution to potentially be optimal (the best), there can be no other solution with lower total time AND lower total money. How to exploit this is another matter...
Thursday, 4 July 2013
Practice exams and falafels
Today we had our third practice exam, it was one of the most annoying exams that I've done, I got 50% on one question (failing only one test case) at around 10am and stayed on that score for that problem for the rest of the exam.
The rest of the exam was fairly typical, an easy problem and an almost impossible one that even now that we know the algorithm would be extremely hard to code.
We had a very different lunch to usual afterwards, rather than the typical "everyone go off and do their own thing", we instead all sat around a table and got Middle Eastern food to share, constantly finishing the falafels and having Jarrah go up and order more, to the point where we got free ones.
We have also had an extremely controversial update in the training site display style which caused a major uproar in the labs.
Training camp drawing to a close
Everyone's looking forward to the IOI, and there's only a few days left until we're off to exotic Brisbane.
Exam mornings and Free afternoons
And after that, we had time off for ourselves in our free afternoon. Now, what do you do with 8 people and a free afternoon? Well firstly, you realise that someone needs to go shopping for supplies, another takes a nap (?), and you have no idea where the 6th person has gone, so you play 4 player card games with 5 people, which works...somehow. Mind you, it was still quite fun, and we were able to kill 3 hours with two games of 500 and one of spades.
We then had a filling dinner at a place called "It's T!me for Thai" (no points for guessing the type of food served), where everyone bandwagoned with the coconut juice, and official team leader Jarrah had to make sure on the amount of spring rolls received (because 3 servings of 4 is somehow interpreted as 3 rolls). We are also still waiting for our salt and pepper tofu...
Australia's IOI Teams: Now Available with Smiles :)
James Payor |
Adrian Goldwaser |
Austin Tankiang |
Nicholas Laver |
Ishraq Huda |
Michael Chen |
Ray Li |
Joshua Lau |
Team A Leader: Jarrah Lacko |
Team B Leader: Luke Harrison |
Team B Deputy Leader: Ben Stott |
Team A Deputy Leader: Robert Newey |
Team B |
Team A |
Everyone |
Tuesday, 2 July 2013
[Caps Lock] [Bold] [Italics] [Underline] Controversial Title
As Ishraq [reference to team mate to demonstrate budding friendship and teamwork and stuff] suggests I will describe how the most approachable of tutors revealed to us the wonders of competitive strategic tire changing (aka. car racing). You see, not only did he elucidate on the importance of speed in the pit, he also expounded upon the tactical consequence of the safety car and how imperative the conservation of the tire was in the endeavour for victory.
Anyway, hopefully that scared you off, or you just left after the post before me because reading is hard. Otherwise, in a fit of boredom we had a TypeRace yesterday. Some may call this sad. I say we were typing fast and if that's sad then okay.
Also, apparently people like reading about food on blogs. We ate at Golden Tower yesterday. Wait, sorry: "New Golden Tower". It's was pretty New and exciting. The waitress seemed pretty inexperienced though... Walks in, puts down dish, walks away. Suddenly you have 12 confused customers wondering what the dish was.
PS: I just realised that me being slow means that more people will read my post. S
[1]: http://thesaurus.com/browse/explain?s=t
[2]: http://thesaurus.com/browse/importance?s=t
OMG Informatics
By far, the most important part of the day is breakfast, and it only makes sense to start with that. I had toast, eggs, baked beans and coco pops. It was pretty swell.
Then came the daily exam, which featured the tasks of day 2 of the Baltic Olympiad in Informatics (we did day 1 yesterday). According to Jarrah, the scores we achieved were all medal-winning scores, which is promising.
Then came lunch. I used the AMT free money to get chicken and chips from the UNSW food court. It was pretty swell.
Then came the problem session, where we discussed the problems from today's exam. Some of the solutions were pretty crazy, particularly the solution to the last question.
And just now I discovered something ~AMAZING~. Scanf is really, really slow. Like stupidly slow. Like one of my solutions to a particular problem was timing out. This is because scanf assumes you're in a multi-threaded environment, so it has to wait for the input stream to be readable and put a lock on it and whatnot. This is silly, because in informatics we aren't allowed to use multiple threads. What we use instead is a super cool function called getchar_unlocked. It doesn't wait for threads or put locks on things. It just reads in a character like a boss. This took a particular case from 0.5s to 0.2s, which is pretty swell.
And now we are about to have pizza for dinner. It should be pretty swell.
"I'm going on an adventure!"
Following oohing and ahhing at the photos for the IOI 2013 teams (see http://www.ioi2013.org/competition/teams/) we are now busy writing blog posts such as the one which you now read.
Tomorrow the
We look forward to the perilous journey to the exotic Brisbane (that seems to be the adjective of the season) in 4 days' time where we will meet and compete against the top high school computer scientists in the world. It will truly be an adventure!
[kudos if you get the titular reference].
Blog Post
So today we had an exam that was totally not BOI Day 2. (PS: Yesterday totally wasn't BOI Day 1). The questions involved informatics which was scary. However it was fun. Therefore it wasn't scary. The questions were interesting like yesterdays. 2 questions weren't too bad so there was only one question and it didn't look too bad. But it was really saddening and at the end everyone sad. Also apparently all of us got medals with multiple golds if it was actual BOI so everyone's happy again.
One of the happiest problems was a simplified version of investigating the forest tracks of 2 types of animals. It was mainly interesting because you could see how this problem could be relevant in real life (whatever that is). The problem itself however wasn't too hard and involved some basic graph theory with one or two observations on top. Its interesting though, how much can be achieved with just a non-sentient, idiot box and thinking. So many problems can be solved essentially by telling an idiot box some observations. Well, at least as long as the world is 2d and spaced out in squares. Which is pretty cool.
Also we got to eat cause we weren't really bad. So that was fun. And I think my word count indicates I should be done. And if you're actually still reading, I have no idea what you're doing. I'll just make it easy for you and end my post in the middle of a sen-
Monday, 1 July 2013
Training Day 1
Adrian, Nicholas and Joshua work on problems on Monday evening, the first day of pre-IOI training.
After gathering all eight Australian IOI contestants and the four team leaders at the University of New South Wales, the pre-IOI training camp began with a two-hour problem session discussing solutions to the 2013 Asia-Pacific Informatics Olympiad. After a fine dinner at Tensaya, a Japanese restaurant in Kingsford, we became acquainted with the computer labs in which we'll be spending the next five days working.
One of the problems the students all solved today was Palindrome-Free Numbers:
Your task is to calculate the total number of palindrome-free numbers in a given range (that is, numbers that are at least a and no more than b where 0 ≤ a ≤ b ≤ 1,000,000,000,000,000,000)"
Clearly, if a and b are reasonably small, you could solve this problem by hand. Between 120 and 140, the only numbers with palindromes are 121, 122, 131, 133, so the remaining 17 numbers are palindrome-free. You could write a computer program to count from a up to b and check each one for palindromes, however even modern fast computers can't check every number up to 1 billion billion in under a second (which is how long the program is allowed to execute for). Instead, the students have to come up with a clever algorithm using dynamic programming to quickly discard entire ranges of numbers. Remember, this problem was the one that most students found the easiest in today's exam!
Time for dinner now at a randomly chosen restaurant on Anzac Parade, see you in our next update!