Friday 12 July 2013

IOI almost over!

We haven't been able to blog much over the past few days because IOI and quarantine (where they take our phones and internet, and the local media makes a story titled something like "How can the contestants cope without their beloved phones and internet" -_-).

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

After 5.5(!) hours filled with panic and mayhem with the grading system collapsing after 90 mins of competition, we finally finished day 1 and had no idea what our scores were. The leaders endured 3 mighty hours of discussion in the General Assembly (GA) meeting discussing how to change the contest to be fair to everyone, but the end result is that the results from Day 1 will stand!

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

Day One

We're about 100 minutes in (out of 300) in day one of the 2013 IOI. You can see a live scoreboard here, and follow the live stream here, which has organisers, tech and problem writers discussing the tasks, live results and IOI in general.

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 is the last day of the pre-IOI training camp, which means that tomorrow is the first day of IOI. Very much looking forward to meeting old friends and new in Brisbane.

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

And as quick as it all started, pre-IOI training camp is coming to an end. Tomorrow morning we fly to Brisbane.

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:

The students and leaders are going to a restaurant for dinner. The restaurant needs to set up two circular tables, which must be of equal size. The restaurant is represented as a convex polygon. What is the largest table size possible that the restaurant can fit two of within their walls?

(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.

NBN Co needs to build a network of fibre-optic cables to connect a set of (up to 200) towns in an outback region of Australia. One of the towns is already connected to the NBN, but all the others aren't yet. For every pair of towns, NBN Co has determined two values (each between 0 and 255): the time and the cost of building a direct line between them. Rather than just minimising time, or just minimising cost, NBN Co wants to minimise their product (ie. the total time multiplied by the total cost). Where should the fibre-optic cables be placed so that every town is connected by cable (either directly or indirectly) to the town with the NBN connection, at minimum time x cost?

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

It's been an intensive week of training, and today marked our second last practice exam - which means the IOI is but days away.  Our exam featured 3 problems.  In typical format, one of the included problems was very difficult to work through and implement, but teamwork after each exam has managed to break down everything we've faced.  We've been given devious problems in our training (putting together various constraints on a grid was yesterday's 5-hour task), and it's amazing how far in knowledge and ability everyone can progress in a year.
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

For our third day we had our B-Session where we get a problem and discuss it as a group to find the algorithm with helpful pushes from our tutors. However, the only catch is that even knowing the algorithm, it can be really hard to code up, even when given a few hours, and not all of us were able to solve it :(

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 :)

The Australian teams have had a successful photo shoot today. It turns out the secret to getting people to smile for photos is to get them to repeat: "Hi my name is Manny the martian, my favourite flavour of bowling ball is strawberry".
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

A subset of us having been forced to write a blog post based on purely democratic rock paper scissors, I will now inform you of stuff that's happening. (Probably for the fourth(-ish) time taking into consideration that half of us have to do this and I'm slow.)

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. Stuilly LIFO.

[1]: http://thesaurus.com/browse/explain?s=t
[2]: http://thesaurus.com/browse/importance?s=t

OMG Informatics

I often struggle at writing introductory paragraphs. This is the end of my introductory paragraph.

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!"

And thus the adventures of the Australian IOI team(s) begin for another year. Leaving everything behind, we through ourselves into the recesses of UNSW for an intense week of blood, sweat and tears training. After wrestling with the two days of [competition name redacted] (we're not supposed to know which one) we were *thrilled* to find out we all would've won medals... YAY!.

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 terrors thrills of a B-Session awaits where we must painstakingly implement a solution to a problem pivotal to the future of humankind *nodnod*.

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

Apparently I have to blog cause else people will be sad. And apparently we don't like people being sad. But everyone else has already blog posted so I don't know if my post will make anyone else less sad.

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:


"A palindrome is a sequence of digits that remains the same when it is read backwards, for example, 727 or 183381. A number is palindrome-free if it does not contain a palindrome of 2 or more digits. For example, the number 16276 is palindrome-free whereas the number 17276 is not because it contains the palindrome 727.

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 ≤ ab ≤ 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!