Following the travels of the Australian IOI team to Waterloo, Canada.
Tuesday, August 17, 2010
Competition Day 1
Apart from that, today was quite fun. I spent a while playing Mao and the Hat game, all which was quite fun. We also spent some good time outside, which hopefully will help me sleep tonight.
I'm really tired right now, so I'm going to go to sleep.
Monday, August 16, 2010
Video streams from the back room
Day 1 live scoreboard
Apparently anyone can play at home too with nothing but your brains and a mouse. See here for more detail.
And here's an action shot from today's practice contest! (just don't look too closely...)
Day 1 - Opening ceremony
The opening ceremony itself was quite good. They began by having a Canadian Celtic band play, who were quite good. Then they replaced it with multiple people welcoming us to the IOI in different languages, and finally the main organiser, Troy, spoke for a while about the importance of this in our lives. Then a trick/comedy duo performed, which was slightly entertaining, but clearly pitched to a different audience. After this, we were entertained by cheerleaders, which again was quite awkward and we the audience did not appreciate maybe as much as others would have. Finally, a boy archipelago group sang several songs, which was easy to listen to.
After the ceremony, Robert was interviewed by Canada National Television, and showed his true bogan side to them. We also got Peter Taylor, the head of AMT, to have an intimate time with the cheerleaders, as can be seen in some of the photos. After this, we headed back to the university, for lunch and the practise session.
For lunch, the queue was incredibly long, meaning we were almost late to the practise session. In the session, we played tetris and minesweeper, printed off documents with the text "Please hand to the hottest guy in the room". The problems presented we had all seen before, meaning me and Evgeny got off to a perfect start to the IOI, hopefully a good sign for tomorrow.
After the problem session, we went and had some dinner as we were all incredibly tired, and so afterwards played a bit of Bartog before meeting with Bernard to discuss the final changes before the leaders went into quarantine. During this the Internet was shut down, which is why this is posted the day after it had all happened.
Sunday, August 15, 2010
First day at the IOI
An introduction to the IOI
After arriving there, we were all pretty excited and ready to be, as Jarrah challenged us 'sociable', a somewhat foreign concept to us. We managed to meet a nice Belgium guy, who we spent a while talking to, and when we went on a tour of the campus he came along as well. By this time, the already moderately warm day had turned quite hot, and was quickly becoming very humid. After spending an hour walking around, we were all very sweaty and after quickly eating lunch, went to our rooms to change.
After eating lunch, we decided to fulfill Jarrah's challenge by bringing some cards up to the lunch tables and playing Bartog, an interesting game which encourages memory, logic and speed, all things that an information would need, thus explaining its part in the Australian selection process. After getting bored of that, we went exploring in search of a candy shop, and while on the way Evgeny decided to climb a pole, chase a squirrel and climb trees. While on the way we found the Macedonians and the English, both who we had interesting discussions with. After heading back to socialise again, we had dinner and went to a welcoming party.
The welcoming party was fun, meeting the French, Irish and a news reporter. We soon left though, to go play Bartog and the hat game with the New Zealanders and Irish, and after getting too tired, going to sleep.
Friday the thirteenth
Saturday, August 14, 2010
First day in Canada
So today/yesterday we left for Canada, waking up at 6:00 (Or 6:20 with Bernard frantically knocking on our door), and had a quick breakfast before catching cabs to the airport. Once there, we began the long process of checking in, getting past security and boarding the flight, all which took us right up to taking off. We quickly found out that this airline (Qantas), does not provide battle tetris, and so much disappointment was had. After getting over this, I watched some great movies, like Shrek 4, Greenzone, Iron man 2 ect. After realising that it was early in the morning Canadian time, I attempted to go to sleep.
Sleeping on planes is an interesting thing. On one hand, there is an incredible amount of noise, which hinders you actually falling asleep. On the other, after successfully dozing off, you will often wake up feeling stiff, dehydrated and incredibly cramped. All of these led to me only getting about 2 hours in total.
After waking up, and watching more TV and movies, we arrived at Los Angeles. The security there was immense, with all of us getting our fingerprints taken and taking our shoes off for the scan. Although this was bad, I was quite excited to be in a foreign country, and this woke me up enough for the next flight.
The actual trip from the US to Canadia is a bit of a blur. I remember dozing off a bit, but managed to mostly keep myself awake for the trip. We then arrived in Canada, went through its security and caught a bus to our hotel.
After dumping our bags, we went to a Canadian restaurant, which served a variety of dishes. I got a Thai red curry, while others got lasaga, burgers and fish and chips. This was quite a nice dinner, but by the end I was immensely tired and ready to go to bed (after writing this blog post).
On a side note, this was the longest Friday the 13th I've ever experienced.
Longest Friday 13th ever
Shoes recovered, we flew seamlessly to LAX about 16 hours later, where the team attempted to put on their best warrior faces.
After a brief lunch at some very American food chains and a fantastic game of Bartog (a first for the trip, surprisingly!), we proceeded on our way to Toronto. At this point, most of us had gone without internet for longer than we'd ever had since we were born. The toll this was taking on the team was evident on the flight as Luke struggled to stay awake, Evgeny spent 3 hours in the brace position, Kenneth crashed, and Robert examined the effects of the plane's banking on gravity.
We were all drained after such long flights and having been disconnected from the world for so long. Many queues and waits later at Toronto airport, an unexpected saviour cheered up the team - its effect appearing to surpass that of caffeine or any energy drink known to man. We found free internet!
The drive from the airport to Waterloo let us watch a marvelous Canadian sunset slide away over the landscape, hopefully setting our bodyclocks back into kilter. A delightful dinner finished the longest Friday 13th ever, with eight thumbs up. Ginger & pear juice... yum!
Living the dream
Back in 2008 I found the Australian informatics Olympiad on the Australian mathematics trust’s website, and inevitably came to the section about that year’s IOI team. I was astounded and amazed that there was a way for programming to get me overseas representing Australia. Then I saw an IOI problem. Needless to say, it was quite problematic and I had no way of solving it. I wasn’t sure that I would ever be able to solve it. After that I placed the kids that went to an IOI up on a seemingly unreachable perch.
Last year my maths teacher chanced across me mentioning the maths olympiad, that prompted him to dig up a letter asking the school for entries in the Australian Informatics Olympiad (AIO). At that stage I only knew the programming language python, so it was quite fortunate that 2009 was the first year that python was accepted as a language.
Since it was my first informatics competition I assumed that I would go quite poorly, so I read the results from bottom to top. I quickly realised that I hadn’t gotten a bronze, that got my hopes up for a silver, It then struck me that I hadn’t gotten a silver either. I wasn’t hopeful of getting a gold, and I almost stopped reading halfway through gold. So when I saw that I game second, and by two points no less, to someone that had done extremely well last year, I was overjoyed, this was compounded by being invited to the December informatics camp at the ANU.
The months in the lead up to the camp were spend learning C++ (another programming language) and solving problems on the Australian informatics training website. After many sleepless nights problems started to get progressively easier.
The December camp was amazing, I had never been surrounded by so many people that were shared the same interests! It was amazing and wonderful and incredible and it was over in 10 days. I really only came down from the high the AIO gave me on the plane home.
Everyone from the camp was invited to sit the Australian Invitational Informatics Olympiad and the French Australian Regional Informatics Olympiad. My results from these secured me an invitation to the IOI team selection camp that April. This was another incredible event, since this camp meant I was only one step off an IOI. Quite openly, I didn’t like my chances of making it this year, the words “Quit while I’m ahead” jokingly crossed my lips on more than one occasion.
I slept really well the night before the first selection exam, I mean, I didn’t expect to do that well, so there was no stress. Almost unfortunately, day one went very well, so the pressure was on for the second day. In the second exam I got the first three questions out fairly promptly, but I feared that my solution for the fourth and final question was going to be too slow. It occurred to me that this question may be all that was standing between me and an IOI. So I put my head down and nutted out the solution that was fast enough.
The wait after selection exam two was possibly the most stress I have ever endured, I had gotten out all the questions, but there was a lingering thought that I must have made some small error that would cost me dearly. Tradition dictates that the process for revealing the team is as strenuous as possible, while the team is being decided all the students are locked in a room together. Once the team has been decided the students play cards to choose the order for people to leave the room and find out if they have been selected or not. It didn’t help my mental health in the slightest that I was the third last one out.
Walking up the stairs to where Bernard and Jarrah were I was so nervous that I was shaking, when they offered me a place on the team I continued to shake. It didn’t hit me that I would be going off to Canada in a few months.
Sitting on the plane to Los Angeles It’s kind of dawning on me that I’m on my way to an IOI. The people surrounding me have won 6 IOI medals between them, and I hope to join their ranks soon.
Sitting on this plane to Los Angeles I’m living my impossible dream.
Thursday, August 12, 2010
The inclusive group of exclusivity

Last day in Australia
The first problem I tackled was the full feedback one (you could check what you scored for it immediately), and I quickly observed the necessary solution. After a couple of 'huh?' moments after not getting 100%, followed by realising a crucial bug that was screwing it up, I finished it and looked at the next, a much harder one. This time, I was unable to think of the solution immediately, and so only partially solved it before the exam had ended.
Again, this was slightly depressing, but I drew confidence from the fact Evgeny and Kenneth scored close to what I did, indicating that it was very hard. We then went and had lunch, and this time I got some not particularly noteworthy fried rice. Then Evgeny, Kenneth and I headed back to the rooms, with them intending to stay there while I went home to back my bag fully.
The trip home was not particularly eventful, as I have done similar trips before, but killed 3 hours. After arriving back and quickly dumping my new bag, I turned around and was quite shocked to find the mirror of our room drawed on in whiteboard markers. Evgeny, when I showed him it, realised the possibility it presented for doing informatics and so we went into his room for a impromptu problem session.
The rest of the day consisted of dinner at a Thai place, which ended up with all of us getting curries and Kenneth getting a phobia of glasses being knocked over. After this, we went back to our rooms, leaving time for us to pack and go to bed early for the big day tomorrow.
Still alive
Finally managed to wake up at the planned time of 7:10 today. The hope is that I'd be able to wake myself up properly and get breakfast finished before at least one other person so I stop being the reason we go to the labs late. After having seen everyone else regularly buy the pancakes and appear to enjoy them, I tried the same. Unfortunately, I was wise enough to try and spend precisely $25, I ordered fried eggs too and couldn't finish it in a reasonable amount of time, holding back everyone and yet again being the reason we got to the labs late.
Yet another practice paper (the third, if my counting ability doesn't fail me). In my opinion, this exam was harder than yesterday's, not only because I didn't do terribly well, but also because trying to understand the solutions to two of the three harder problems takes a fair while longer than yesterday's exam. The full feedback problem was certainly more difficult than the usual full feedback problems that I've grown used to. Most of the time, the full feedback problem requires some reasonably trivial algorithm to be implemented, not needing too much thought to go into arriving at an algorithm that solves the task (since feedback is usually to assist competitors produce codes with less errors, rather than assist competitors in solving the task on an algorithmic level). Though in terms of the algorithm, today's full feedback task wasn't as too mentally taxing, it had quite a few gotchas that took a while to figure out. Given that the task is full feedback, one would know upon submission that they didn't submit a correct solution and take a while longer than usual to solve what should be an easy problem [taking away precious time to work on more difficult tasks]. That leads on to the other tasks, which had me quite entirely stumped for a long time. Jarrah mentioned how we were going to hate ourselves during the problem session, and for good reason too.
Having collectively discussed the solutions to the problems that had completely confused us only a few hours before, we quickly arrived at an incredibly simple solution to one of harder tasks. Not only was the solution ridiculously simple, but the line of logic that we had to follow was quite obvious once a small observation has been made. Then again, that ability to make the small observations is what differs the good informaticians from the extraordinary informaticians. The other two of the more difficult tasks required less epiphanies and more deep thought and number crunching. This is the kind of deep thought and number crunching that would have the entire team sitting at a table for extended periods of silent meditation that would be interrupted by a magnificent eruption of discussion, shortly followed by further silence. In the end, we came up with an algorithm for solving one of the two unsolved tasks (albeit deeply confusing and lacking an elegant proof) and a questionable solution to the last one (questionable in that it makes sense and should be algorithmically correct, but implementation-wise is a little half-baked).
After the extended problem session (which [since I haven't explained it anywhere else yet] is a session where we all sit down and discuss ideas and potential solutions to problems that were in the day's exam [or any exam for that matter]), we went down to the labs for a shortened lab session (which is where we implement/code the solutions that we discussed in the problem session), where I managed to code up the solution to the task that required an epiphany. I had a stab at the deeply confusing task, but didn't have enough time to finish ironing out the errors.
Butter chicken for dinner (and kebab for lunch). Good stuff with rice. Table conversation was good; we talked about topics such as the ISSC (International Schools' Software Competition), binary search, the expected number of rolls of a dice required to get a number that isn't 6, and whether or not it was possible to make a proper random number generator (i.e. one that has a perfectly equal chance of getting each of its possible values), given a random number generator that gives random numbers of a different range (so something like "given a perfectly random die, create a series of steps that utilises the die to generate a random number between 1 and 5 inclusive" [a la the previously mentioned topic). Truly riveting material.
After dinner, we went back into our rooms, with everyone going to sleep much earlier than usual. Since the Internet connection was offline during this time (which probably explains the early sleeping times), I didn't have a chance to write up this blog post at the time. Instead I thought it would be fun to implement that solution to the minesweeper problem that I so fondly proclaimed in my last post. By the time it was 1am, I had gotten so irritatingly close to a completed solution, but stopped when I realised I was keeping Evgeny awake with the light, loud typing and the TV that I had on for background entertainment so I put it off till a later time.
So as far as I can remember, that was all that happened yesterday. With regards to this particular post, I have a strong feeling that I was being heavily distracted earlier on in the post by a TV, so much of it may not make as much (or any) sense. I'd proofread it, but it probably makes a more interesting read for everyone if I don't.
Flying soon.
-ken
Too lazy to blog
The curious case of the falling cups
Wednesday, August 11, 2010
After that, we grabbed some lunch and had a problem session in one of the seminar rooms. Once having realised that the problems we all failed on was actually really easy, we all felt slightly suicidal and very demoralised for the IOI. Luckily, we went to dinner at an Indian place, which increased our spirits, and after writing this post I went to bed, attempting to get more sleep for tomorrow.
Tuesday, August 10, 2010
Minesweeper incident
[I just remembered that we're not meant to be making exhaustively longs posts, so I'll try to keep everything down to a paragraph per notable 5 hour time period]
As scheduled, yet another practice exam today which I found (and I assume everyone else found) significantly more challenging than yesterday's exam. As usual, the first task was reasonably straightforward and was full feedback (meaning we would know whether or not our solutions were correct and sufficiently efficient upon submission). That being said, it was the only problem of the four that anyone completed (which we all did). The final 3 problems took me around 4 hours of good, hard staring to realise that I wasn't going to complete any. At best, I submitted more brute force solutions (which would take a few billion times longer to run than our time limit), resulting in a score far to shameful to disclose. By the time the exam had ended, we all sat quietly at our keyboards for a couple minutes in shame, reflecting upon the sheer shock of the previous 5 hours. When we had finally gathered ourselves together, we went to lunch to relieve ourselves of the pent up stress that we had garnered.
Fish and chips with salad. A good meal. All of us (with the exception of Jarrah) had sat down at a table to eat and talk casually about the problems before our problem session. When everyone had finished eating, Bernard suggested we take advantage of the conversational momentum and have the problem session at the table (also avoiding using up energy walking back to the labs from the food court). So we stayed sitting and begun sifting through the tasks. After entirely skipping the first task (the easiest), we went onto discussing the second task, BEARs. We all had something to say about it, having come up with various ideas that may have contributed to a proper solutions. Of all the ideas that popped up, one seemed to have significant importance so we pursued it, diving into deeper and more complicated algorithms. After nearly half an hour of confused discussion, Bernard gave a hint that allowed us to put ourselves out of our misery and finally arrive at a proper (and elegant) solution. The next problem that we looked at was Candies, which I found comparatively less approachable than BEARs. As I saw it, the problem could be broken into two parts, the second of which I had largely solved. The first part had me completely lost which was what ultimately let me down. After some hand-wavy discussion, we came up with an algorithm that would work correctly and in time for the second subtask, but would only be useful with the assumption that we had already solved the first subtask. During our discussion of Candies, Luke brought up a brilliant insight regarding the first of the two sub-problems. Unfortunately there were some aspects that needed to be fleshed out which made things very much more complicated. Again, as with BEARs, we begun to dive deep into the algorithmic possibilities for solutions to the first subtask, Evgeny describing his solution to it in depth. Midway through his explanation, I felt sufficiently convinced that it was correct, but Bernard was much more critical of it's correctness, again giving us a light push towards the official solution. As usual, the algorithm which we ended up at was amazing and appeared to be so obvious and make so much sense, but unfortunately doing so many hours after the exam.
Off to the labs to have a stab at implementing the solutions to the problems which we had spent the previous 4 or 5 hours discussing. In the end, I was able to submit a complete solution to BEARs, as well as the final task from yesterday's practice paper. During the problem session, Bernard had mentioned something about the final problem (which I failed to mention in the previous paragraph). Summed up, the task was to produce a valid placements of mines in Minesweeper such that the configuration would fit a pattern of numbers describing the number of mines around each cell. The thing that Bernard had mentioned was in regards to the feasibility of the problem with relation to the size of the grid. Apparently, if at least one side length was not equal to 2 modulo 3, then it was computationally possible to efficiently produce a layout of mines that would fit the given grid (assuming such a layout exists). Luke and I searched around for the solution, finally coming across some observations that made today's final problem, Mines, the single most awesome task that I have seen during this training week (awesome enough for me to name this post after it). I would talk far more about the problem and the sheer awesomeness of the solution, but it's probably in my best interest to keep this post only as long as necessary *cough*.
Dinner was pizza. It's nice to have pizza from a place that isn't Pizza Hut or Dominoes. During dinner, the team and our leaders discussed the layout of the coming IOI, including the advantages and disadvantages of various changes that have been made (such as the idea of "release tokens" and the modified forms of submission that have been put in place). Interesting moral debate regarding the informatics spirit ensued.
As of a little over half an hour ago Luke left the room and as of a little a few minutes ago, Robert left too. I must say that it feels terribly unsatisfying to write up such a relatively short blog post after my original plan to write posts of exponentially increasing size (which would have had this post hovering around the 4000 word mark), but it's probably in the best interests of all (particularly myself, having lost a fair few hours of sleep typing away at my netbook). I have a bizarre feeling that there's going to be something crazy like an A-session tomorrow (which is like a normal informatics exam but without the computer, and with the use of more paper and more rigorous proofs). Chances are that I'll be entirely incorrect, but that's my guess.
Until next time
-ken
Day 2
The rest of the afternoon was spent working out the implementation of our solutions, although we all knew exactly what to do, one of the problems required some trippy Chinese maths which none of us knew.
Finally, dinner tonight was pizza, which actually filled us up unlike last night, and after that we came back to our rooms to write this blog post where we have been instructed to reduce our number of sentences, so that may explain my lack of breath after proofreading this.



