Sunday 31 July 2011

End of Awesomeness

Well, IOI 2011 is over... That was pretty epic. This post will probably not be seen by many people. This is just final words. You know, IOI's a big thing. I just thought it deserved a post devoted solely to it's ending.

It's 11:25 pm now. We got on the plane from Thailand to Sydney, some time yesterday. We flew through the night with little sleep so yesterday, last night and today feels like a single day... or maybe it feels like three separate days. I can't really tell. Anyway, I got back from the flight from Sydney to Melbourne and slept from about 11/12 am till arounnd 10 pm. I don't think I can sleep any more so I'm just staying up for a few hours. My sleep cycle is so screwed up.

I feel sorry for Edgeworth. Essentially, 9 hours of his 14 hours of flying are redundant. He has to fly from Thailand to Sydney and then to Perth which forms a triangle. Yeah... I wouldn't like to be in his position.

I have mosquito bites all over my foot which I had to deal with all the way through both flights.

But despite all of this, I have to say, IOI was definitely worth it.

Many people only every have a brief touch of informatics. It's a great thing and I certainly think it has changed many lives for the better. Many people only ever go to a single December camp and I would think many competitors at the IOI only experience it once. Not only from Australia but from other countries as well. Not all countries are as good as China or USA. Many get to the IOI just because they can program and solve problems with some proficiency.

But all of them have a personality and a story and everyone, whether they're a legend or someone who just scraped a few points at the easiest problem, all of them have something to add to the community and some joy to give to others.

I think of AIO now, which I competed in now 10 months ago. I didn't even know what a BFS was and only a tiny amount, if any, about algorithms and complexity. I look back and think of how far I have come since then. I can't imagine what my life would be without informatics. I remember getting that email saying I was invited to December camp and how happy I was. Now I've gotten a medal at the IOI, the pinnacle that many have strived to achieve for years.

Now, having achieved this, I think of the December camp, the one where I began this journey and where I learned so much. Now, having reached this pinnacle, I look back and think of all the things I've learnt. The truth is, I believe I might not learn so much from December camp again but every year, I'm going to be there because every year, there is going to be someone new. Someone to bring something new to the group and every year, there's going to be a new group of people with their own quirks and references and personalities and stories. I want to be a part of that.

Informatics is about much more than the problem solving at the computer. It's about the jokes, the congregations around the computer watching videos, it's about the trolls, it's about playing minecraft in our free time, it's about screwing our fingers up playing table football, it's about staying up playing mafia and bartog. Because every moment is a new one and any moment could be the one that you end up missing. So every night, I stay up with the group as long as I can because I want to be there when it happens and I want to be part of that story.

It's 12:04 am now. I've spent around 40 minutes on this so I hope it shows you something and gives an insight or an inspiration to be part of that group and part of that story.

Everyone has a story, and I'm glad that informatics is part of mine.

Wednesday 27 July 2011

Ohh... sparkly...

Yay! We all get medals! If you haven't seen already, the results are here: http://sc1.ioi2011.net/scoreboard/ (No, I don't know how to make links and everything on the browser here is in Thai). You can click on Australia on the right to only show Australian scores. If you look you can see I came last (of the Australians). Now look at Day 1 and Day 2 scores...

Yeah, I failed pretty hard on the first day. The three problems were known shorthand as Rice, Race and Garden (although for maximum confusion, it would have been way better to call Garden, Rose (Disclaimer: I didn't come up with that)).

The easiest one was Rice which I should have scored 100 on but only scored 68 on. I saw the easy 68 solution and thought, "Okay, I've gotten 68, that's pretty good... and the 100 solution is going to be really hard right? Because all IOI problems are really hard right?" So, yeah... 30 points lost there.

Garden was a graph problem which I may or may not have gotten the solution for. I spent 2 hours making observations about state explosion and cycles. Then I coded up half of it and started doubting myself because I really wasn't actually sure about the solution I'd thought up. So basically I wasted half an hour coding half of a possible solution. Then I decided to code the partial mark solution which was 49 points... but it didn't work! 49 points lost there.

The last one, Race was another graph problem involving a tree and finding the smallest number of edges summing to a certain distance. After the competition I heard Jarrah and Evgeny talking about the solution and realised it was similar to something I'd thought of in the competition. The thing was, I hadn't been thinking clearly at the time (because I was really annoyed at Garden) and hadn't given it much thought. In the end, I only coded the 9 point solution. Not that much of a loss since I doubt I could've gotten the solution anyway but some of the others got 21 points so... 12 points "lost" there I guess.

So, basically I failed the first day, missing out on what could have been another 90 points. I missed out on more points than I gained! So by the end of that I was feeling pretty... bad.

Luckily, I totally pwned on the second day.

The three problems were Parrots, Elephants and Crocodile.

Parrots was a task somewhat similar to a compression or encryption problem in that you had some data, had to "encrypt" it, and "decrypt" it. The thing is, the encrypted data, (a series of integers) could be sent to the decryptor in any order. I managed to get 81 points, Evgeny got the same and Eliot got 95.

Crocodile was another graph problem which required a few observations to reduce it to a kind of "reverse dijkstra". I got 100 along with Evgeny and Robert but (from what I heard) Eliot didn't realise he needed a priority queue so he only got the 46 partial marks.

We still can't figure out the solution to Elephants which we assume is a crazy data structure problem. This was an amusing problem in a few ways. Firstly, the problem had 5 subtasks but on the problem statement they were labelled, 1, 2, 2, 3, 3. Yay, duplicate subtasks. Also, the last two subtasks were worth, respectively, 47 points and 3 points. There was also a note in the problem statement saying something along the lines of "The c++ STL may be too slow to solve subtask 5". As Chris said, subtask 5 is there to separate Gennady and the Russians :). The other three got the 26 point subtask. Eliot told me he used the set solution which did a whole bunch of binary searches to "skip" stuff and make it faster. That was the theory anyway. It turned out to make the algorithm O(N^2 lg N) instead of the simple brute force which was O(N^2). I submitted the bruteforce expecting just 26 points but instead, I got 50!

The second day went much better than the first allowing me to scrape enough points for a medal. Well, I'm not sure if they've finalised the medal cutoffs yet but I certainly hope so.

Post-competition. Success?

(dissriguard spel czech, ackwire spel misteak)

Alright, so
I haven't had any time to post anything in a while due to a few things:
1. Dodgy internet.
2. The competition.
3. Dodgy internet.

Fortunately, it seems to be working now. Anyway, the competition itself:

Day 1.
One free mark/easy question: Ricehub -- A sliding window while keeping track of the median sort of thing. Tony Sun forgot the input was already sorted for you, so he implemented what he calls a "sliding heap" ಠ_ಠ.

Race: (for me) an ostensibly easy problem. Yeah. No. :\

And finally, Garden: Looked kind of complicated. Unfortunately I spent most of my time on Race instead of it.

I scored 158 on day 1, Evgeny scored 170, and Michael scored sub-100 (but he owned the second day really hard).

Day 2:
First the easy question (for me): Parrots. You have to encode a message such that you can decode it no matter the order of which your encoded message is delivered.

More importantly, question 1: Crocodile. This one was rather annoying for me. I coded up some random DP which got "fatal signal 11" on all subtasks. So I put my hand up and ask "wtf is fatal signal 11?" 10 minutes later: "Lol no we aren't going to tell you. Trololol." Feh.

And question 2: Elephants. I made a silly mistake which cost me about 20 marks. Sadface.

Notably, Michael Chen scored ~230 on this day (out of 300), while I scored 168, Evgeny scored 207 and Robert scored 178. Leaving us all with bronze medals, excepting Evgeny, who should get a silver.

The final scores were: Evgeny: 377, Robert: 316, Michael: 308, and me: 326.

After the competition we went to Pattaya city, where, (and this is the most important part) I bought a fan (not steven) (I actually have 4 now)! Incidentally there were also a couple of strip clubs. That is all.

Overdue post by the honorary IOI fanboy

Maybe I should post something... Here is a recount of the few last days of training and the arrivals day of the IOI.

Monday the 18th: Training Day 3

Nothing extraordinary happened at breakfast, again. The morning's exam was an interesting combination of a Dynamic Programming problem, a Combinatorics problem that wasn't actually combinatorics once you looked at it closely, and a really really interesting problem that turned out to have some extraordinarily elegant solution.

Informatics is somewhat of an art in ignoring common sense and making something trivial sound really, really weird:
"While you didn't have enough, keep substituting ceilings for floors until satisfied"
That, more or less, is a quote from the solution to the last problem.

I spent the rest of the night trying to salvage Robert's hard drive, but we had no luck in opening his laptop's cover. It is held in place by screws that will not budge under the pressure of skilful ruler-as-a-screwdriver application.

Tuesday the 19th: Training Day 4

Today we had a B-Session, a strange kind of an exam that is not really a true informatics exam.

On Sunday night, we were given a problem "Tree Mirroring" that we knew we would have to solve today. We spent a day or so thinking about it prior to walking into the tutorial room in the morning, ready to attack the question and hopefully solve it.

The process of solving it consisted of a few hours of discussion, after which we got enough observations and insights into the problem to solve it completely. We then went into the labs to code it up, and it took a far while for everyone to realise that we forgot a crucial part of the algorithm - something that will break things in quite a few ways. It is the same problem that I ran across during day 2 of the IOI - scroll down for the information on that.

I don't really remember what happened after that, so I'll skip immediately to the flight.

Thursday the 21st: The flight

After waking up really early in the morning to get our breakfast over and done with, and catch a cab to the airport, we once again found the breakfast place closed. We ended up packing our food in a paper bag and eating it on the way to the airport, inconspicuously, so that the cab driver won't see us at it :D

Before take-off, we flicked through the in-flight entertainment system's channels and found a camera that is attached to the bottom of the plane and effectively shows the runway in front of us. It was awesome.

I spent most of the flight watching movies (Sucker Punch, The Eagle, and something else that I can't remember - some family comedy), and sleeping in the last hour or so. Others did pretty much the same, with an addition of Tetris tournaments against each other.

After 9.5 hours of flight, we landed in Bangkok and caught a train to the hotel. My room was quite spacious with a surprisingly nice view on the front of the airport. Unlike last year, I did not run across any members of the Russian team in the hotel.

Night-time Thailand is exciting!

Friday the 22nd: Bus ride and arrivals

We caught a bus to Pattaya; the total ride was about 2 hours long. During that, there were 2 vaguely amusing things:
  1. The nonogram puzzle on the IOI newsletter was invalid - we did it twice, getting the same result, and then Bernard told us that it is horribly broken. Oh well.
  2. Thai KFC charge extra for "no ice" in your drink. Want to know why? Click here.
When we arrived to the Royal Cliff Beach Hotel, the place where we are staying, a glass of really nice cranberry juice was forced into my hands by really friendly and yet determined waiters. We soon left for our rooms, and then went down to meet other teams. There were quite a few people that I recognised from last 2 years, but there also were many new competitors who didn't have any idea of what was going on.

-- I will type up the rest of the IOI days later, I've been at this for an hour or so now.

Monday 25 July 2011

Wake up!


Getting up today wasn’t all that easy, and the wake up call 10 minutes before the bus was leaving for the Nong Nooch gardens was quite a shock to the system. Fortunately Evgeny and I still had time to grab some bread for breakfast, so that was a triumph of perfect timing for sleeping in.

The Nong Nooch gardens were alright, the highlight was the elephant show where there were elephants trained to play soccer, basketball, paint, dance, and ride a tricycle.

I know jumping photos are kind of clichéd, but they’re still cool! This is our guide for the week, Wan. She’s the one responsible for all our 6:30am wakeup calls, and as bad as that sounds, they’re really appreciated and stop us sleeping in, so please keep them up!

Syndicated on my blog

Sunday 24 July 2011

Something approximating fun




Today was the first exam, and I’m reasonably happy with how I went. 138 out of a possible 300, which puts me a solid 18 points above the bronze medal cut off as it stands. So hopefully I can keep my ranking up and come away with a bronze medal on Tuesday.

I got off to a really slow start, 0 points after 2 and a quarter hours was rather disconcerting. After that I started scoring some points, which let me calm down a little.

Anyway I’m off, this laptop is annoying me and is liable to shut down randomly.

Syndicated on my blog

Saturday 23 July 2011

A singular confusing event




I go into quarantine rather soon and haven’t had much time to write this sorry. Quarantine is rather strict this year, we’re all confined to our rooms nd have our phones confiscated.

Also, I have no idea how this piece of paper came into my possession, I was just minding my own business in the practice competion and someone brought it to me. It’s a hard life.

Syndicated on my blog

Friday 22 July 2011

A night on the town



To continue where I left off from yesterday, we all spent the rest of the trip doing our little things, I watched the Lincoln Lawyer, another movie that wasn’t bad, just not remarkable.

The walk to immigration was happily punctuated by an officer of some description with a smiley badge embroidered on his uniform. I’d like to think he was the fun police, but it occured to us later that Thailand is the land of smiles, and they may be trying to push that image.

Next stop on our adventure was the Novotel Suvarnabhumi Airport Hotel, which we are fortunate enough to be staying at. Possibly one of the most striking features of it was the sheer size of the lobby. It’s 5 stories high, has rooms looking into it, several fountains, large trees, various cafe places, and it doesn’t feel cluttered.

The rooms are also quite a sight. In my case, Evgeny and I are sharing and have a king single each, and all the lights can be controlled from a console beside the beds (which I found after searching around the room for where to turn the lights off). The fact that we’re overlooking the airport is actually quite nice, for instance, it’s 11:40 right now and the entire thing is still bustling and alive, which isn’t conducive to sleep, but it’s pretty.

Now dinner was okay, it was half KFC, half Japanese restaurant, and a young coconut for me, though the story of how that came to pass is much more interesting than what I actually had for dinner. It all started with a train trip to a part of town which was supposed to have a lot of food places, and it may well have had restaurants, but for the life of me I couldn’t tell because of all the street vendors toting bootleg dvd’s, cheap jewellery and high fashion knock-offs. Though there were occasional bursts of seemingly ad-hoc food courts in the street where the food street vendors would congregate. After we spent a while wandering, we ambled accross an “international food court”, though in Thailand that would seem to mean they had both Thai food and KFC. Unfortunately for us we got there very near closing time, so nearly all of the local cuisine was gone and us heathens had to get KFC and a young coconut from somewhere that was still open. Though we got there so late that even after we bought most of KFC’s remaining stock, everyone still only averaged to half a meal. That’s when we started walking back to the train station hoping we’d come accross somewhere decent that was still open, and we were in luck! A Japanese restaurant at the top of a department store was still open, it’s a far cry from the food vendors on the street, but before the competition I’m not game enough to trust any of their food.

On a more visual note, I’m quite happy with how this image captured the dirty, grimey, smokey aesthetic of a Bangkok street market at night.

Back in the hotel now, and there is no internet provided… Not happy Novotel.

Syndicated on my blog

At the IOI

Today, we took the bus from Bangkok to Pattaya. Robert is copying posts from his blog to this one but he wrote those a few days ago so the ordering's going to be messed up. Anyway, we made it and as Edgeworth says, it's pretty classy. Also, we haz free nets (yay).

Today we basically had free time and a bus drive. In the morning me and Edgeworth played go (which everyone should play) on his netbook and Robert and Evgeny apparently went to the pool and gym. Then we had to get lunch and we basically had chocolate and coke. Then we had a 2 hour bus drive to Pattaya. About half way through we stopped for lunch which was really annoying because we thought we wouldn't get lunch and had stuffed ourselves with chocolate.

The rest of the day was uneventful. Go into rooms, play with light switches, have dinner and now we're in the internet lobby. I didn't bring a computer but they have spares which anyone can use. The problem is that they're windows and chrome is in Thai. I spent the last 20 minutes or so trying to change the settings to no avail.

Well now I'm off to play go with that guy from New Zealand. The opening ceremony's tomorrow so we'll see how that goes.

Thursday 21 July 2011

A bit late



For the lulz I’m writing this post in edit on the plane, with the trackpad turned off. For those people who aren’t aware of obscure remnants of DOS in windows, edit is a stripped down version of notepad that runs in a command line, and doesn’t wrap the text so the lines go over the edge and you have to scroll to see them.

This morning saw our departure from Sydney, though this was not without its hitches. The cafe attached to Perouse Lodge which was supposed to open at 6:30am, but they opened around 7:05am, 10 minutes prior to our departure for the airport. It turned out okay though, we could still order from the items on the menu that were quicker to prepare. I got their baked beans – which were very nice, though if I could make my choice again, I would get them with bacon.

As an aside, _everything_ is nicer with bacon. Though my philosophy hasn’t caught on yet, which is why I have difficulty ordering bacon sundaes at McDonalds…

At this very second I’m 11.5Km above Indonesia, and will land in Bangkok in another 4 hours. It’s a strange thought that it’s a 9 hour flight to Thailand from Sydney, but a 10 hour drive from Cobar to Sydney. So far on the plane I have watched ‘Sucker Punch’ and ‘Unknown’, the former is actually the second saddest movie I have ever watched, it was just so awfully sad, though cinematically it was absolutely brilliant which redeemed it in spectacular fashion. The latter isn’t particularly note worthy, not bad, just nothing stuck out as good.

One of the really cool things about this plane is that there is a camera in the nose which is broadcast live to a particular channel on the entertainment system. However the entertainment system is prone to crashing and informing the user that a segfault occurred. Which is basically meaningless to someone who doesn’t program, but we found it absolutely hilarious.

Other than those things, not a whole lot is happening, we’re all on the plane doing our own little activities to stave off boredom, I’m blogging, Evgeny and Chris are watching movies, Eliot is playing games, and Jarrah is reading. Exciting stuff.

Syndicated on My blog

Wednesday 20 July 2011

How your computer actually runs


There is actually a Russian inside every computer flipping bits to make everything happen, and since this computer had been used so much the coating was wearing thin so you can see the Russian phantom inside the machine.

In other news, an informatics camp is probably one of the few places I could be away from home and still have enough stuff around me to fix a dead laptop.

Also, I would like to draw your attention to line 8 of the code in the above image.

In other news, we fly out to Thailand in another 11 hours. It’s really quite exciting, it just about makes the prospect of getting up at 6am worthwhile!

A Sydney Morning Herald photographer got a few shots of me for an article by Kim Arlington that should be out in a few days. So keep an eye out for that.

Syndicated on my blog.

Tuesday 19 July 2011

A series of unfortunate events



The past three days have seen a steady descent from my laptop working, to it being a very attractive paper weight.

Sunday night immediately after blogging, it crashed, and rebooted with the desktop background corrupted, meaning that the hard drive was failing. After that there was an ill-fated (involving a ruler and a pair of scissors) attempt to get the back cover off to remove the hard drive. However this really only left me with a scratch on the underside.

Yesterday I turned up to the apple store on campus and asked to borrow some screw drivers to take the hard drive out. Much to my surprise, they obliged! With that the corrupted hard drive was removed from the laptop. However, they didn't have a spare anti-static bag, so I carried the hard drive from the quad, to K17, and all the way back up to Perouse Lodge. That night I came up with an elaborate scheme to fix my laptop, and the rest of the data off my hard drive. All I had to do was back up the data on my external hard drive, take the hard drive out of that, put that in my laptop, and put the laptop hard drive in the external case. Simple right? Trouble was that external hard drive case didn't have screws... I got the hard drive out of it though, but let's just say that it has more of an open air design now.

Today during our free afternoon I returned to the apple store, both hard drives in hand. Asked nicely and was allowed to borrow screw drivers again (They're very nice people there). So now with hard drives exchanged, I was told that it would be another day before they would get OS X install disks in. Next stop on my adventure was K17 (The computer science building) where they happened to have install disks for Ubuntu 9.10! The big problem I had then was I tried installing that operating system on battery power, since I left the charger up in Perouse Lodge. The install finished before running out of power, the only thing was it refused to boot from the hard drive... and now the ubuntu cd is corrupted...

I promise I program better than I break stuff.

Syndicated on my blog.


Herp Derp, Trololol and Other Things

Today was a relatively interesting day, starting with sleeping in until 8 minutes before breakfast. Unfortunately, there was no time for tea, although I had 'stolen' some free hotel milks and sugars from Robert's room the previous day. Not a victory in any regard :\

After that, it started to pick up -- instead of the normal 5 hour exam, we did the B-session. A problem almost purely of implementation. It turned out that I managed to code the solution correctly, and thus I was happy(er).

The B-session problem was about determining if a connected graph was the union of a tree and its "reflection." Lots of ways it could go wrong, quite annoying to implement. Even after >2 hours with someone who knew the solution we still overlooked at least 2 things which we had to work out in the exam. Still, it was fun.

And now, during the free afternoon, I am writing this blog post after having lunch at some random food place and going to Coles with Michael Chen and Evgeny Martynov. Where 2 litres of ice cream and 5 packets of lollies were bought. Disregard sleep, acquire diabetes.

Alright, time to see if I will be able to play Go on KGS with this hotel internets. Btw I don't have spellcheck.

Sunday 17 July 2011

39) Day two, or one depending on your computer science bent



Today I had ice cream for breakfast. Ice cream, pancakes and maple syrup. The potential to have this breakfast should be your number one reason for joining the informatics team.

In other, more informatics related news, today was our second exam, and true to form this exam was much harder than the first exam. No one solved any of the questions. The first question was something which at first glanced seemed like a sweep line, at second glance seemed like a triangulation, and at third glance I wasn't sure anymore. Turns out that it's a simple formula.

We spent the rest of the day working on the exam and various other vexing problems, and we even got some of them out! Maybe we're a little talented like that, however, being a little more talented couldn't hurt.

Syndicated on my blog

It's Sunday, Sunday, gotta blogpost on Sunday.

Typing this post up on my phone just because I can. Let's see how this goes.

Yesterday was the first day of the training camp, and we started out with a pretty awesome breakfast followed by a less awesome exam. Finding the cafe place closed didn't dampen our spirits, as we voted on eating Michael for breakfast instead - democracy wins again. Luckily for him, the cafe opened just in time to save Michael's life.

The exam was a pretty interesting combination of problems, somewhat easier than what I expected. I managed to complete the exam in 4 hours (after chasing down a single mistake in my code for a good hour or so) with a perfect score. If only I could do that in the IOI...

After that, we went for a lunch and went through the exam problems. Nothing exciting, really. Seeing all the different approaches to the problems that the others had was quite an interesting experience, and it's what makes informatics pretty much unique in comparison with other Olympiad fields.

Today, we followed the same schedule as before, minus the breakfast incident. The exam looked heaps harder, too. I completely misjudged 2 of the easier problems as being too hard, and in fact one of them had a very elegant solution that no one managed to see. I decided to spend lots and lots of time on a harder problem, and ended up getting 80% for it. Not too bad, but not the best exam practice: could have scored 100+50+33 instead of 33+80.

After the problm session, we returned to the Lodge to play a Zendo, a pattern-finding game. Someone makes up a rule about what constitutes a valid arrangement of playing pieces, and the others try to work it out by making their own designs and asking the "game master" whether it is valid. Even though it sounds simple, we spent a good hour or 2 trying to guess Chris's rule.

We also got a problem to think about, we have a day and a bit to solve it, and then we will have an exam where we have to code up if solutions and ideally score 100. But it's late now, so... should sleep before the exam.

Typing on a phone isn't that bad after all, just slow.

So apparently we have an exam every morning... -_-. Anyway, today's exam started with me and Evgeny submitting something early on and the evaluator failing. From there it didn't get much better. No one submitted anything for the first question and no one completely solved any of the problems. The first question appeared to require polygon triangulation and maths formulae when it turned out to be a simple calculation. The second question was a graph problem with a twist which none of us thought about. The third question was a... well, Jarrah and Chris haven't told us the solution yet (that's how we got the q1 and q2 solutions), but most of us submitted slightly different and "optimised" greedies which scored between 20% and 80%.

For lunch we ate food.

Then we had the problem session (where we found out the q1/q2 solutions) and now we're having a problem session and planning on ordering pizza so we can stay at UNSW until 9:00.

Hopefully I can stay awake for tomorrow's exam.

Saturday 16 July 2011

Mind bending scenario

We had our first practice exam today, and on the whole it was quite an enjoyable experience. However, getting up at 7am wasn't. Since everyone was still dreary from getting up it was a bit of a happy accident that the café wasn't open for breakfast on time, giving us an extra half hour to wake up.

The exam itself was really quite pleasant, the solution to question one was quite straightforward (I promise) and everyone got it out. Question two wasn't as nice though, but with a bit of maths and STL magic I got it out. Unfortunately the third and final question was quite painful, and even though I had the solution in my head it was quite ugly and I may not have been able to code it in time, so I coded up a correct but slow solution for partial marks then spent the remainder of the exam thinking about a nice way to code up the solution but didn't get anywhere.

This picture is from the problem session that ensued after lunch. We went through the exam problems and then got onto a problem that we were given in the lead up to camp. This problem is an exercise in "case bashing", which is where you come up with different input data for the problem and find patterns in it which leads you to a solution. Coding it was also an exercise in case bashing (and orac debugging, which is where you fix a bug and resubmit to the training site hoping and praying that you get 100 this time), and as of now no one has scored 100% on it. I'm on 95% though and will hopefully get the last few marks before the end of camp.

This post is syndicated on the official Robert Newey photoblog! (and will be posted at 00:01 July 17th)

Off to sleep now (or code, whatever takes my fancy). Until tomorrow!

First day of training

It's Saturday morning and we are almost the only people in the Computer Science building at UNSW. After a filling breakfast, the team are all working hard on pen & paper in their first trial exam, in which they must solve three problems in five hours. While the IOI is a computer programming competition, the difficulty of the problems is such that the majority of the work is in thinking of a correct algorithm (a series of steps that would solve the problem). Usually they have the option of coding a 'brute force' solution - such as finding the shortest path between two places by considering every possible path, however such solutions become far too slow to score full marks. Instead, they are looking for clever shortcuts and ways of representing the data so that the computer has to do the minimal amount of work necessary in order to get the right answer.

Yesterday evening we ate a delicious Japanese dinner and were joined by 2010 IOI team members Kenneth Wong and Luke Harrison, as well as informatics student Daniel Goldbach (who featured in this ABC news story about the April team selection camp). Luke, Kenneth, Chris and I were furiously solving problems to put in today's exam while the team appeared to be contentedly enjoying their teriyaki chicken and salmon sushi.

The sound of keyboard-tapping is now emerging out of the silence... perhaps some have moved from the problem-solving stage to the coding stage!