Computer Science Canada

Ccc 2012

Author:  trintith [ Tue Feb 28, 2012 4:20 pm ]
Post subject:  Ccc 2012

How did everyone do?

I made a really, really stupid mistake on S4, which means that I won't get any points for n=6,7 (so I doubt I made stage 2). The other questions seemed pretty straightforward.

I don't think we're allowed to talk about specific solutions yet.

Author:  Snario [ Tue Feb 28, 2012 5:02 pm ]
Post subject:  RE:Ccc 2012

What did you do for S4?

Author:  trintith [ Tue Feb 28, 2012 5:04 pm ]
Post subject:  RE:Ccc 2012

We're not allowed to give specific solutions, if it's like last year.

Author:  crossley7 [ Tue Feb 28, 2012 5:10 pm ]
Post subject:  RE:Ccc 2012

Yeah, probably safest to wait a day or 2 to post or discuss any actual solutions.

1,2,3,5 were all really easy and probably took me a little over an hour combined to do them all, but I didn't know how to do 4. I already know my solution times out so as I ran out of time I put a cap on it so that it might have a slightly better chance to get some cases. Hoping to get lucky enough to make round 2 with a score around 64-65..

Excited to see the proper solution for 4 (I already know mine is a bunch of crap. Couldn't get my head around an efficient solution and used about the worst possible algorithm)

I was actually really disappointed with the difficulty of the contest and thought 5 should have been maybe #3 and then ditch number 3 altogether for a challenging final problem. There will be too many scores in mid 60's or higher.

Author:  ultimatebuster [ Tue Feb 28, 2012 5:29 pm ]
Post subject:  RE:Ccc 2012

Thats what we said last year and stage 2 ends being around 62... remind you people in ib or ap can't go due to exams... like myself

Found 1235 to be simple, though my solution for 3 may take too long for 2 million lines... python is pretty slow .. also I madethe mistake of looping through the entire set up one more time than I had to... it took about half a second with 2 million inputs

4 is interesting ... my solution is not efficient enough and I didn't have enough time to intergrate a star as I misread 4 and wasted about an half hour.

Anyway it was fun... probably won't get much over 65, unfortunately

Author:  ihsh [ Tue Feb 28, 2012 5:46 pm ]
Post subject:  RE:Ccc 2012

Yeah 1, 2, 3 and 5 were so easy that I finished them within 1-1.5 hours.

But I just couldn't even think of an algorithm for problem 4, for I had trouble finding a good representation of each state.

Author:  ProgrammingFun [ Tue Feb 28, 2012 5:49 pm ]
Post subject:  Re: RE:Ccc 2012

ultimatebuster @ Tue Feb 28, 2012 5:29 pm wrote:
Thats what we said last year and stage 2 ends being around 62... remind you people in ib or ap can't go due to exams... like myself
Wait, what?

Author:  ultimatebuster [ Tue Feb 28, 2012 5:52 pm ]
Post subject:  Re: RE:Ccc 2012

ihsh @ Tue Feb 28, 2012 5:46 pm wrote:
Yeah 1, 2, 3 and 5 were so easy that I finished them within 1-1.5 hours.

But I just couldn't even think of an algorithm for problem 4, for I had trouble finding a good representation of each state.


I didn't have time but i think A star search would have done it.

Author:  mirhagk [ Tue Feb 28, 2012 6:41 pm ]
Post subject:  RE:Ccc 2012

A* is only as good as the heuristic you choose, which is hard in this scenario.

PS: I did pretty well this year (got 1,2,3,5 and some cases for 4), but it sounds like that might not be good enough, which would suck. Last year was 45 for the certificate cut-off for senior)

Author:  102897108 [ Tue Feb 28, 2012 7:00 pm ]
Post subject:  RE:Ccc 2012

This year's difficulty is so low that I spent 1.5 hrs checking errors. My eyes were almost bleeding at the end.
Q3 and Q5 are overly simple.
I guess the cutoff is around the same as last year

Author:  DanielKang [ Tue Feb 28, 2012 7:11 pm ]
Post subject:  Re: Ccc 2012

Hello, I did the junior one, and the same problem appeared as J5.
Thankfully, after rocking my head trying to figure out how to do it, I was able to successfully analyze each case then use println.
Notice that for S4, n<8, while in J5, n<5, which made manual work possible (33 cases).

Can I get full marks with this approach? Where I just do the calculations by hand and just print the results out for each case?
If I do, then I have high chance of getting 75/75 which would be awesome considering this is my very first compsci competition.

Author:  crossley7 [ Tue Feb 28, 2012 7:11 pm ]
Post subject:  RE:Ccc 2012

Seems like most people got 4 and part solution. Hopefully that is just because the top people are all posting on here Very Happy I get my results tomorrow during class when my teacher goes over them (He normally has a student help him with scoring programs)

Q3 and 5 were far too easy for their question number as was already stated. Hoping the cut off is around where it was last year so I can hopefully make it Very Happy

Author:  RandomLetters [ Tue Feb 28, 2012 7:20 pm ]
Post subject:  RE:Ccc 2012

How did you manage to play 33 towers of hanoi games in under 3 hours?

Author:  ihsh [ Tue Feb 28, 2012 7:22 pm ]
Post subject:  Re: Ccc 2012

DanielKang @ Tue Feb 28, 2012 7:11 pm wrote:
Hello, I did the junior one, and the same problem appeared as J5.
Thankfully, after rocking my head trying to figure out how to do it, I was able to successfully analyze each case then use println.
Notice that for S4, n<8, while in J5, n<5, which made manual work possible (33 cases).

Can I get full marks with this approach? Where I just do the calculations by hand and just print the results out for each case?
If I do, then I have high chance of getting 75/75 which would be awesome considering this is my very first compsci competition.


Wait, I thought for n<=5, there would be 5!=120 cases?

Author:  DanielKang [ Tue Feb 28, 2012 7:23 pm ]
Post subject:  Re: Ccc 2012

n is less than 5, does not include n = 5

Author:  crossley7 [ Tue Feb 28, 2012 7:29 pm ]
Post subject:  RE:Ccc 2012

I think that there are n! possible permutations so if n<5 then it would be

1!+2!+3!+4! = 33 possible starting positions with 3 of them being easy to solve. I won't go into more detail there because I think we are still supposed to wait on posting any solutions for longer (some people will have to write tomorrow or something) try not talking about problem specifics right now until we know it is ok to discuss

Author:  DanielKang [ Tue Feb 28, 2012 7:31 pm ]
Post subject:  Re: RE:Ccc 2012

RandomLetters @ Tue Feb 28, 2012 7:20 pm wrote:
How did you manage to play 33 towers of hanoi games in under 3 hours?


There is some speculations, but i cannot say because we are not yet to discuss.

Author:  Mamick [ Tue Feb 28, 2012 7:42 pm ]
Post subject:  Re: Ccc 2012

My teacher marked everyone's an I got perfect, though it hasn't been confirmed by Troy yet. I do agree with everyone else though that S4 was the hardest. My program would have failed for n=8 and above, and it took about a second for the n=7. Every other question was pretty trivial in my opinion.

I really hope the cutoff is below 55 so other people from my school can make it. Wasn't it about there a few years ago?

Author:  chengbin [ Tue Feb 28, 2012 7:49 pm ]
Post subject:  Re: Ccc 2012

Are they trying to make the cutoff a perfect score this year???

1, 2, 3, and 5 were trivial. I was fairly close to solving 4. There has to be at least 20 people in Canada that can get S4 perfectly. It is not terribly hard, just tedious to code.

Author:  crossley7 [ Tue Feb 28, 2012 7:50 pm ]
Post subject:  RE:Ccc 2012

It will be over 60 because of the difficulty. The last few years the problems have been easier (this year + last year) allowing much higher marks and therefore a higher cutoff. Also, I thought time limit was something like a minute (no idea why) which would allow for alightly weaker solutions. As it is, that still cutoff the most naive solutions for #4. Last year 54 was the lowest score for honourable mention and this year the problems were arguably easier than last year meaning that sub 55 score definitely won't make it on. Once we can post solutions, I would love to see how you solved #4 Mamick.

Author:  chengbin [ Tue Feb 28, 2012 7:55 pm ]
Post subject:  RE:Ccc 2012

This year is really unfair for the good programmers. If S4 is not your type of question, which is a really bad exercise in recursion, then you're not making stage 2. There should be at least 2 really hard questions so the cutoff a near perfect score.

Author:  Mamick [ Tue Feb 28, 2012 7:57 pm ]
Post subject:  Re: Ccc 2012

I actually wasted about half an hour because I thought it was n<=8, but then I reread the question.

I feel that this year's was harder than last year's. In my opinion S1 was harder, S2 was about the same, S3 was about the same (though less tedious), S4 is about as hard as S5 from last year, and S5 requires more knowledge than S4 last year (though less logic is needed).

Author:  DanielKang [ Tue Feb 28, 2012 7:57 pm ]
Post subject:  Re: Ccc 2012

chengbin wrote:

This year is really unfair for the good programmers. If S4 is not your type of question, which is a really bad exercise in recursion, then you're not making stage 2. There should be at least 2 really hard questions so the cutoff a near perfect score.


? That didn't make sense.

Author:  crossley7 [ Tue Feb 28, 2012 8:04 pm ]
Post subject:  RE:Ccc 2012

I felt that s1 and s2 were trivial both years so just discounted them, s3 was a bit easier than last year, s4 this year and s5 last year are comparable and s5 a bit easier than s4 was last year. Again that is my opinion on it, but that is also probably partly because I have an extra year of coding and so I pick up the problems a little bit quicker.

And yeah, it kind of sucks that if you struggle with using recursion at all (like I do) then you are in for a challenge to make it to round 2 this year.

Author:  chengbin [ Tue Feb 28, 2012 8:06 pm ]
Post subject:  Re: Ccc 2012

DanielKang @ Tue Feb 28, 2012 7:57 pm wrote:
chengbin wrote:

This year is really unfair for the good programmers. If S4 is not your type of question, which is a really bad exercise in recursion, then you're not making stage 2. There should be at least 2 really hard questions so the cutoff a near perfect score.


? That didn't make sense.


You have to get perfect to make stage 2 since 4 of the problems are trivial. What if it is an insane ad hoc problem (which is the case this year) that you just can't get? As a senior contest, where are the true computer science problems involving hard dynamic programming, recursion, graph theory or computational geometry that I like (actually I don't like graph theory)?

Author:  Mamick [ Tue Feb 28, 2012 8:10 pm ]
Post subject:  Re: Ccc 2012

chengbin @ Tue Feb 28, 2012 8:06 pm wrote:
DanielKang @ Tue Feb 28, 2012 7:57 pm wrote:
chengbin wrote:

This year is really unfair for the good programmers. If S4 is not your type of question, which is a really bad exercise in recursion, then you're not making stage 2. There should be at least 2 really hard questions so the cutoff a near perfect score.


? That didn't make sense.


You have to get perfect to make stage 2 since 4 of the problems are trivial. What if it is an insane ad hoc problem (which is the case this year) that you just can't get? As a senior contest, where are the true computer science problems involving hard dynamic programming, recursion, graph theory or computational geometry that I like (actually I don't like graph theory)?

I would just like to say that I've never seen a problem anything like S4 before, yet I still managed to get it. I do agree that the other problems should be harder, or there should be more (difficult) questions.

Author:  RandomLetters [ Tue Feb 28, 2012 8:11 pm ]
Post subject:  RE:Ccc 2012

I thought S4 last year was not that hard (although incredibly tedious). I didn't get S4 and S5 at all this year though.

It would have been nice to see a more uniform progression in difficulty though, rather than 3 questions which everyone gets, and 2 questions which most people simply frustrate over Confused

Author:  102897108 [ Tue Feb 28, 2012 8:14 pm ]
Post subject:  Re: Ccc 2012

chengbin @ Tue Feb 28, 2012 5:06 pm wrote:
DanielKang @ Tue Feb 28, 2012 7:57 pm wrote:
chengbin wrote:

This year is really unfair for the good programmers. If S4 is not your type of question, which is a really bad exercise in recursion, then you're not making stage 2. There should be at least 2 really hard questions so the cutoff a near perfect score.


? That didn't make sense.


You have to get perfect to make stage 2 since 4 of the problems are trivial. What if it is an insane ad hoc problem (which is the case this year) that you just can't get? As a senior contest, where are the true computer science problems involving hard dynamic programming, recursion, graph theory or computational geometry that I like (actually I don't like graph theory)?


S4 is a "true computer science problem" and anyone that qualifies for stage 2 should be able to solve that without too much struggle

Author:  ihsh [ Tue Feb 28, 2012 8:15 pm ]
Post subject:  RE:Ccc 2012

I think 1 and 2 are perfectly fine as they are (trivial).

S3 is easy. It really doesn't require too much thought.

S4 is difficult compared to previous years; I had solved every S4 except the one from 2010 and this one.

S5 is definitely too easy; it's more like a S3 problem. There isn't really even a need to be efficient because of the small bounds.

Author:  bbi5291 [ Tue Feb 28, 2012 8:21 pm ]
Post subject:  Re: Ccc 2012

chengbin, based on experience, I highly doubt that 20 contestants will get full marks on S4.

The cutoff is not going to be a perfect score.

Bright contestants usually overestimate the cutoff, because they expect everyone else to find the contest as easy as they do.

S4 is not "a really bad exercise in recursion"; it has a straightforward solution. But even if it were, it should be pointed out that the early IOIs were full of such kinds of problems.

Author:  Advecticity [ Tue Feb 28, 2012 8:31 pm ]
Post subject:  RE:Ccc 2012

What are your opinions on S4 as a contest question in general? A problem that involves a straightforward solution that works for n = 7 but that would likely fail for n = 9 or something seems to just invite dirty solutions.

Unless the solutions that the people that solved S4 came up with are different then what I have in mind.

Author:  Yves [ Tue Feb 28, 2012 8:54 pm ]
Post subject:  RE:Ccc 2012

The last case for #4 was surprisingly easy; my extremely slow solution just passed with 49 seconds on my computer, so I tentatively have a perfect. (:

Author:  ihsh [ Tue Feb 28, 2012 8:56 pm ]
Post subject:  Re: RE:Ccc 2012

Yves @ Tue Feb 28, 2012 8:54 pm wrote:
The last case for #4 was surprisingly easy; my extremely slow solution just passed with 49 seconds on my computer, so I tentatively have a perfect. (:

The test-cases are out to the public already?
If so, could you tell me where I could find them? Thanks.

Author:  Drenn [ Tue Feb 28, 2012 8:57 pm ]
Post subject:  Re: Ccc 2012

I did 1-3 relatively quickly. My solution to #3 started working before I expected it to... which is really weird... I hope it works in all test cases. I spent the rest of my time on #4 expecting #5 to be way too hard for me. After giving it a closer look I realized it was far easier than I thought! Oh well. I couldn't get 4 and didn't have the time to start 5.

Author:  Snario [ Tue Feb 28, 2012 9:49 pm ]
Post subject:  Re: Ccc 2012

DanielKang @ Tue Feb 28, 2012 7:11 pm wrote:
Hello, I did the junior one, and the same problem appeared as J5.
Thankfully, after rocking my head trying to figure out how to do it, I was able to successfully analyze each case then use println.
Notice that for S4, n<8, while in J5, n<5, which made manual work possible (33 cases).

Can I get full marks with this approach? Where I just do the calculations by hand and just print the results out for each case?
If I do, then I have high chance of getting 75/75 which would be awesome considering this is my very first compsci competition.


Same here.

Was it just factorial business? I didn't see a pattern Sad

Author:  crossley7 [ Tue Feb 28, 2012 10:35 pm ]
Post subject:  RE:Ccc 2012

it wan't just factorials. n! is the number of possible inputs for input of size n but other than that I don't think the result had anything to do with factorials. No simple math that you could do to solve.

Author:  d310 [ Tue Feb 28, 2012 10:35 pm ]
Post subject:  Re: Ccc 2012

I also got perfect!
I do think that problem 5 should have been much harder.

Author:  mirhagk [ Tue Feb 28, 2012 11:12 pm ]
Post subject:  RE:Ccc 2012

So I see 3 perfects here.... and a couple more that probably did better than me.... Dang looks like me 4.2/5 problems just ain't going to cut it.

Author:  crossley7 [ Tue Feb 28, 2012 11:18 pm ]
Post subject:  RE:Ccc 2012

I'm hoping that 4.5/5 will work (although that depends based on test cases for 4. May be higher/lower if they like 6 and 7 that have solutions) I just output impossible for 6 and 7 because it took my program too long to compute.

It will be frustrating for me not knowing my score until last period at school tomorrow and seeing all these high scores raising the bar for round 2.

Author:  Velocity [ Wed Feb 29, 2012 12:14 am ]
Post subject:  RE:Ccc 2012

4.9/5 ... Just when i thought it was too easy. Its never perfect!!!!!!!! How do i know if i qualify for round 2

Author:  102897108 [ Wed Feb 29, 2012 12:17 am ]
Post subject:  Re: RE:Ccc 2012

Velocity @ Tue Feb 28, 2012 9:14 pm wrote:
4.9/5 ... Just when i thought it was too easy. Its never perfect!!!!!!!! How do i know if i qualify for round 2


Haha I'm really curious where did you lose that 0.1 mark?

Author:  DanielKang [ Wed Feb 29, 2012 12:38 am ]
Post subject:  Re: Ccc 2012

Snario @ Tue Feb 28, 2012 9:49 pm wrote:
DanielKang @ Tue Feb 28, 2012 7:11 pm wrote:
Hello, I did the junior one, and the same problem appeared as J5.
Thankfully, after rocking my head trying to figure out how to do it, I was able to successfully analyze each case then use println.
Notice that for S4, n<8, while in J5, n<5, which made manual work possible (33 cases).

Can I get full marks with this approach? Where I just do the calculations by hand and just print the results out for each case?
If I do, then I have high chance of getting 75/75 which would be awesome considering this is my very first compsci competition.


Same here.

Was it just factorial business? I didn't see a pattern Sad


A pattern was obvious, i will say it later

Author:  ultimatebuster [ Wed Feb 29, 2012 8:30 am ]
Post subject:  RE:Ccc 2012

Just confirmed that my solution for S4 takes about 1 min to run for n=8

n=7 around 2 seconds..

Damn python. lol

Author:  saltpro15 [ Wed Feb 29, 2012 10:20 am ]
Post subject:  RE:Ccc 2012

When will the senior problems be released? I'm undergrad this year but I'd still like to take a shot at some of them. I'm assuming from the posts here that the difficulty was lowered a bit from previous years?

Author:  danc [ Wed Feb 29, 2012 2:01 pm ]
Post subject:  RE:Ccc 2012

I got 60... so maybe not good enough to advance. I just didn't get an at all working solution for 4... though I know how to do it algorithmically. It's just difficult to represent. I was a little sad that recursion would run in time for S5. And with the difficulty in general.

Author:  crossley7 [ Wed Feb 29, 2012 5:06 pm ]
Post subject:  RE:Ccc 2012

saltpro, hit me up on fb and I will send you the problems. I have my copy and perfect solutions for 4 of them.

Author:  A.J [ Wed Feb 29, 2012 5:46 pm ]
Post subject:  RE:Ccc 2012

I'm glad most of you found the contest enjoyable and/or easy. I must agree that the contest was easier than most years, however I don't think that the cutoff will be close to perfect (maybe mid to high 60's). Please refrain from discussing the solutions for another day or so. I can post a copy of the contest after a couple of days (if people want this).

Author:  crossley7 [ Wed Feb 29, 2012 6:38 pm ]
Post subject:  RE:Ccc 2012

Crossing my fingers that it is low-mid 60's so I can make it on. Either way, looking forward to seeing other solutions for the problems (specifically 3,4,5)

Author:  Velocity [ Wed Feb 29, 2012 6:50 pm ]
Post subject:  RE:Ccc 2012

S3, i could not find the correct base value for 500, some of the values worked but 500 didnt.

Author:  NeilV [ Wed Feb 29, 2012 8:56 pm ]
Post subject:  RE:Ccc 2012

Yeah I finished S1,S2,S3, and S5 within an hour. Then I spend a solid 2 hours on S4 and still didn't figure it out. But very shortly afterwards I came up with a solution that would have gotten at least 12/15, possibly 15. The frustrating part is that when I implemented this new solution, 90% of my code was copied and pasted from my solution during the contest.
Anyway, final score is 63.

Author:  ultimatebuster [ Thu Mar 01, 2012 8:02 am ]
Post subject:  RE:Ccc 2012

Any idea what's the Max execution time allowed?

Also can we talk about solutions now?

Author:  danc [ Thu Mar 01, 2012 11:41 am ]
Post subject:  RE:Ccc 2012

max execution time is 60 seconds...

Author:  ultimatebuster [ Thu Mar 01, 2012 3:06 pm ]
Post subject:  RE:Ccc 2012

My script for 4 gets it after 48 sec for n=8 on cpython on my computer ... 16 sec on pypy. Given that my marker 's laptop is probably slower... maybe u should convince her to get pypy?

Author:  crossley7 [ Thu Mar 01, 2012 3:56 pm ]
Post subject:  RE:Ccc 2012

I ended up with 66 and probably still wait to comment on solutions. I think AJ will have an idea of when we can start discussing them and will let us know when that is the case

Author:  Yves [ Thu Mar 01, 2012 4:36 pm ]
Post subject:  Re: RE:Ccc 2012

ultimatebuster @ Thu Mar 01, 2012 3:06 pm wrote:
My script for 4 gets it after 48 sec for n=8 on cpython on my computer ... 16 sec on pypy. Given that my marker 's laptop is probably slower... maybe u should convince her to get pypy?


It doesn't really matter, as every program with an unofficial score of at least 40 gets remarked on the same computer for the official score.

Author:  102897108 [ Thu Mar 01, 2012 7:53 pm ]
Post subject:  RE:Ccc 2012

Oh yeah!!!! I got perfect 75~
Isn't 1 min of execution time too long?? The contests I have participated before mostly had a time limit of 1 sec or 2 sec. It will take a lot of time to mark if everyone's program runs 1 min for each test case= =
At least my solution for Q4 gives answer well within 1s for n<8

Author:  Annology [ Thu Mar 01, 2012 8:09 pm ]
Post subject:  Re: Ccc 2012

102897108 wrote:

Oh yeah!!!! I got perfect 75~

Woah, congrats Very Happy

This is my first computing contest....I got 60. Would that be enough to make it to honor roll or group 3?

Author:  danc [ Thu Mar 01, 2012 8:26 pm ]
Post subject:  Re: Ccc 2012

Annology @ Thu Mar 01, 2012 8:09 pm wrote:
102897108 wrote:

Oh yeah!!!! I got perfect 75~

Woah, congrats Very Happy

This is my first computing contest....I got 60. Would that be enough to make it to honor roll or group 3?


I guess we won't know 'til the results come out, eh?

Author:  crossley7 [ Thu Mar 01, 2012 8:27 pm ]
Post subject:  RE:Ccc 2012

It gives 1 min since some programs take very long to execute and it has some of the lowest restrictions of any contest I know of. Also, since it's your first contest, did you do Junior or Senior? If you did senior it would be some level of the honour role at the very least.

Author:  ihsh [ Thu Mar 01, 2012 8:36 pm ]
Post subject:  Re: Ccc 2012

The unofficial solutions site has posted the test cases and problems, so I think we can freely discuss the problems now.

Anyway, from the test cases on the site, I have an unofficial score of 63. I hope this would somehow give me a rank of 20th... (though I highly doubt it)...

And yeah, I am very curious about how you guys solved #4.

Author:  danc [ Thu Mar 01, 2012 9:12 pm ]
Post subject:  RE:Ccc 2012

Well, me being a noob, I didn't know that in C++ you can store vectors inside pairs... so I didn't get it until after I found that out (after the contest D: ) but (if we're allowed to post solutions?) it's BFS. You can represent the game as a graph, with edge weights of 1 and edges between any given state and all the possible moves from there.

(If you don't think I should have posted that, yell at me and I'll take it down)

Author:  crossley7 [ Thu Mar 01, 2012 9:50 pm ]
Post subject:  RE:Ccc 2012

bfs is 1 way to solve it although the naive implementation is expensive for memory (though how expensive I don't know).

There is also the recursive solution (basically a dfs i guess) and most any search algorthm would work if you knew the correct way to implement it. I used the naive recursion with an inefficient memoization that times out for 3 of the 5 test cases but does at least get the correct answer eventually Very Happy

Author:  danc [ Thu Mar 01, 2012 10:17 pm ]
Post subject:  RE:Ccc 2012

Hmmm, my solution uses 54 Mb of memory and runs in 10s on the largest case... but that's because I use and compare dynamic arrays representing the states...

Of course, it can also be done by representing the state in a string, but that's more difficult Sad but that makes it much faster and better for memory.

Author:  102897108 [ Thu Mar 01, 2012 10:34 pm ]
Post subject:  RE:Ccc 2012

I used a number(indicating the No. of a state) to represent a state and some minor tricks to avoid unnecessary calculations. Memory used is 14mb

Author:  crossley7 [ Thu Mar 01, 2012 11:01 pm ]
Post subject:  RE:Ccc 2012

also curious how people went about number 3 with the giant input. I had a frequency array of 1 - 1000 that would slowly increment values as it reads in the 2 million inputs then naively finds how many max values, second max values there are and then checked the 3 cases for the output (multiple max, 1 max, multiple second max, 1 max, 1 second max). My solution runs in about half a second in the worst case in c++.

What were other ways of going about that on (ideally more efficient)

Author:  trintith [ Thu Mar 01, 2012 11:41 pm ]
Post subject: 

crossley7 @ Thu Mar 01, 2012 11:01 pm wrote:
also curious how people went about number 3 with the giant input. I had a frequency array of 1 - 1000 that would slowly increment values as it reads in the 2 million inputs then naively finds how many max values, second max values there are and then checked the 3 cases for the output (multiple max, 1 max, multiple second max, 1 max, 1 second max). My solution runs in about half a second in the worst case in c++.

What were other ways of going about that on (ideally more efficient)


My C++ solution runs in 70 ms on a solid state, or 200 ms on a normal hard drive on the worst case. I used sort(...) from <algorithm> on a vector filled with elements of a class which stores value (pH) and count (frequency). You need to define a member function in this class (lets call the class 'C'): 'bool operator<(const C& other) const' based on frequency. Once it's sorted by frequency, I did the trickery you described with the max frequency and second-to-max frequency.

This is dominated by the hard drive, but is there a better way?

Also, when grading solutions, are all test cases for a question worth the same? Are all questions worth the same. My wonderful teacher promised to finish marking by the end of next week and I'm impatient.

Author:  danc [ Thu Mar 01, 2012 11:44 pm ]
Post subject:  RE:Ccc 2012

Test cases are all worth the same (3), except for number 5 I think, which has 7 test cases with between 1-3 points.

Author:  crossley7 [ Thu Mar 01, 2012 11:55 pm ]
Post subject:  RE:Ccc 2012

Nice, I don't like using classes for contest problems (I generally feel they are overkill), but it would have cut down the time for the second aspect of the program (after assigning input). Nice solution there. I haven't checked my exact runtime, but I do know that considering it does over 4 million commends (2 million read, 2 million increments) + finds the max/min in under half a second I feel good about that. Now for my teacher to send my code to Waterloo for official marking and find out when round 2 qualifiers get posted

Author:  trintith [ Fri Mar 02, 2012 12:23 am ]
Post subject:  RE:Ccc 2012

I got 63. I did a DFS instead of a BFS for 4. I even knew I needed to do a BFS. A two-line change (which I thought I made), and I would have gotten 72. Je suis idiot.

Author:  VK_eipi [ Fri Mar 02, 2012 4:02 am ]
Post subject:  Re: Ccc 2012

For S3, after building the frequency table, you can iterate through the possible readings 1 to 1000 just once, keeping track of 6 variables: frequency, lower bound, and upper bound of the max-frequency and second-max-frequency readings. Then at the end, you check which case it is and work it out. E.g. If second max frequency is different from max (only one reading with max, so max_low=max_high), then take the bigger of (max_low - max2_low) and (max2_high - max_low), if one is negative the other's absolute value is bigger anyways.

Because you iterate in order, simplifications can be made such as only setting lower bound when a higher frequency is found and setting upper bound every single time the frequency matches. (You can even share one variable for the two upper bounds, since they are never simultaneously relevant, but it makes things confusing).


For S4, my friend came up with the idea to represent the state as an n-length array of n-bit binary numbers (integers), which might be the same as what user 102897108 means by "a number." Essentially, the coins are considered to be worth powers of two and each pile is represented by its total value, with moving a coin just equal to adding and subtracting the relevant entries. The smallest coin in a pile is equal to the smallest significant 1-bit, which can be calculated by the trick x&(-x).

Author:  102897108 [ Fri Mar 02, 2012 4:11 am ]
Post subject:  Re: Ccc 2012

VK_eipi @ Fri Mar 02, 2012 1:02 am wrote:
For S3, after building the frequency table, you can iterate through the possible readings 1 to 1000 just once, keeping track of 6 variables: frequency, lower bound, and upper bound of the max-frequency and second-max-frequency readings. Then at the end, you check which case it is and work it out. E.g. If second max frequency is different from max (only one reading with max, so max_low=max_high), then take the bigger of (max_low - max2_low) and (max2_high - max_low), if one is negative the other's absolute value is bigger anyways.

Because you iterate in order, simplifications can be made such as only setting lower bound when a higher frequency is found and setting upper bound every single time the frequency matches. (You can even share one variable for the two upper bounds, since they are never simultaneously relevant, but it makes things confusing).


For S4, my friend came up with the idea to represent the state as an n-length array of n-bit binary numbers (integers), which might be the same as what user 102897108 means by "a number." Essentially, the coins are considered to be worth powers of two and each pile is represented by its total value, with moving a coin just equal to adding and subtracting the relevant entries. The smallest coin in a pile is equal to the smallest significant 1-bit, which can be calculated by the trick x&(-x).


Haha that's what i meant. But i guess what you wanted to say was that the coins are worth powers of N instead of powers of 2 Smile)

Author:  VK_eipi [ Fri Mar 02, 2012 5:02 am ]
Post subject:  Re: Ccc 2012

102897108 @ Fri Mar 02, 2012 1:11 am wrote:
VK_eipi @ Fri Mar 02, 2012 1:02 am wrote:
For S3, after building the frequency table, you can iterate through the possible readings 1 to 1000 just once, keeping track of 6 variables: frequency, lower bound, and upper bound of the max-frequency and second-max-frequency readings. Then at the end, you check which case it is and work it out. E.g. If second max frequency is different from max (only one reading with max, so max_low=max_high), then take the bigger of (max_low - max2_low) and (max2_high - max_low), if one is negative the other's absolute value is bigger anyways.

Because you iterate in order, simplifications can be made such as only setting lower bound when a higher frequency is found and setting upper bound every single time the frequency matches. (You can even share one variable for the two upper bounds, since they are never simultaneously relevant, but it makes things confusing).


For S4, my friend came up with the idea to represent the state as an n-length array of n-bit binary numbers (integers), which might be the same as what user 102897108 means by "a number." Essentially, the coins are considered to be worth powers of two and each pile is represented by its total value, with moving a coin just equal to adding and subtracting the relevant entries. The smallest coin in a pile is equal to the smallest significant 1-bit, which can be calculated by the trick x&(-x).


Haha that's what i meant. But i guess what you wanted to say was that the coins are worth powers of N instead of powers of 2 Smile)


I actually do mean powers of 2, because I have a separate number for each position. The coins can only be "there"/"not there".

I considered using powers of N (base-N number with digits equal to pile #) since it is the most compact way to represent the state, but I didn't know how to determine the smallest coin of each pile efficiently, since the piles are all jumbled together. What is your method for doing this?

Author:  trishume [ Fri Mar 02, 2012 8:09 am ]
Post subject:  Re: Ccc 2012

I was using ruby to write the contest so I thought that it would be too slow for S3 but it wasn't.
The first thing I did is write a script to generate a huge test case so I could constantly check speed.

It turns out that it was fast enough and that ruby's massive method chains helped me write a really short solution Smile

For S4 I only had an hour left and I am a really slow programmer, so I had to make the decision between taking the whole hour to write an A* solution, or to look for a simpler mathematical solution.
Unfortunately I never found a mathematical solution. So my final submission was
code:

puts "IMPOSSIBLE" # for me to find a mathematical solution...

Author:  NeilV [ Fri Mar 02, 2012 5:54 pm ]
Post subject:  RE:Ccc 2012

see this is why I love python. For S4 I just kept the state as a list and stored it in a dictionary, which has constant lookup time. In other words, I let python hash it for me Smile

Author:  bl0ckeduser [ Fri Mar 02, 2012 6:42 pm ]
Post subject:  Re: Ccc 2012

Can anyone explain how the grade is calculated ?
Someone seems to have mentionned "full 75", but I only see 27 test files on the Robart website.

BTW my unoptimal S1, S2, S5 C solutions are here:
http://sites.google.com/site/bl0ckeduserssoftware/ccc-2012-partial-sols.zip
(I messed up S3, didn't know what to do for S4)

Author:  Yves [ Fri Mar 02, 2012 6:52 pm ]
Post subject:  Re: Ccc 2012

bl0ckeduser @ Fri Mar 02, 2012 6:42 pm wrote:
Can anyone explain how the grade is calculated ?
Someone seems to have mentionned "full 75", but I only see 27 test files on the Robart website.

BTW my unoptimal S1, S2, S5 C solutions are here:
http://sites.google.com/site/bl0ckeduserssoftware/ccc-2012-partial-sols.zip
(I messed up S3, didn't know what to do for S4)


For S1 to S4, there are 5 cases each with 3 points awarded per case. Partial marks are not awarded for partially correct cases.
For S5, there are 7 cases. The first four are worth 2 each, the second-to-last worth 1, and the remaining two 3 each.

Author:  ihsh [ Fri Mar 02, 2012 10:27 pm ]
Post subject:  Re: Ccc 2012

I finally coded a working solution for S4, which involves a DFS, and states represented like this:
code:

1344 //coin '1' is in location 1, coin '2' is in location 3, coin '3' is in location 4, and coin '4' is in location 4


And since it's a brute-force DFS, I had to limit the the number of steps to 50 for it to run in time...

Author:  danc [ Fri Mar 02, 2012 10:34 pm ]
Post subject:  RE:Ccc 2012

But why not just use BFS with the same state? BFS, I believe, would run much faster and be not much more difficult to code?

But I probably don't know best.

Author:  ihsh [ Fri Mar 02, 2012 10:51 pm ]
Post subject:  Re: RE:Ccc 2012

danc @ Fri Mar 02, 2012 10:34 pm wrote:
But why not just use BFS with the same state? BFS, I believe, would run much faster and be not much more difficult to code?

But I probably don't know best.

Because I don't know how to implement a BFS. Embarassed

Oh, and I just noticed that my java IDE doesn't support the Queue class. Hmm, it seems like I should really switch to another IDE; no Scanner, no ArrayList, no HashMap, and now no Queue. Also, please allow me to ask a very ignorant question: without queues, is it possible to (easily) code a BFS?

Author:  crossley7 [ Fri Mar 02, 2012 11:19 pm ]
Post subject:  RE:Ccc 2012

create a manual queue with an array and index of where you started. Ideally a flexible array/vector would be best to use for this purpose or at least something that you can quickly remove elements/indexes from. In C++ I normally use vectors for my queue in a bfs, but you can use makeshift ways of creating a queue.

Author:  VK_eipi [ Sat Mar 03, 2012 1:26 am ]
Post subject:  Re: RE:Ccc 2012

NeilV @ Fri Mar 02, 2012 2:54 pm wrote:
see this is why I love python. For S4 I just kept the state as a list and stored it in a dictionary, which has constant lookup time. In other words, I let python hash it for me Smile


To clarify, were you referring to a tuple instead of an actual Python list? Lists in Python are not hashable and cannot be used as dictionary keys.

Author:  danc [ Sat Mar 03, 2012 7:52 am ]
Post subject:  Re: RE:Ccc 2012

crossley7 @ Fri Mar 02, 2012 11:19 pm wrote:
create a manual queue with an array and index of where you started. Ideally a flexible array/vector would be best to use for this purpose or at least something that you can quickly remove elements/indexes from. In C++ I normally use vectors for my queue in a bfs, but you can use makeshift ways of creating a queue.

So do you usually just leave all the elements in the vector and simply shift your index of access variable? Why not just use a queue?

And BFS is not too hard. Sounds like maybe you do know how to implement it if you're asking about a queue. You push your starting state onto the queue, and loop until some condition is true (in this case, whether you win, or queue is empty). Inside the loop, you access the next state, and then find all the possible moves from there and push them onto the back of the queue. It is also necessary to keep track of which states you have already examined, in order to prevent pushing and repushing useless states back onto the queue. Maybe you didn't need that explanation, but I hope that helps.

Author:  crossley7 [ Sat Mar 03, 2012 8:47 am ]
Post subject:  RE:Ccc 2012

I normally index the value at the end of a depth then remove the first element as I check it. Once it reaches that value that I know is the last one of a depth, I increase my depth counter and reset the index to the end of the vector.

Author:  danc [ Sat Mar 03, 2012 9:19 am ]
Post subject:  RE:Ccc 2012

How much faster is that than actually using a queue?

Author:  crossley7 [ Sat Mar 03, 2012 11:17 am ]
Post subject:  RE:Ccc 2012

Not sure since I never have used Java and I'm not sure of exact efficiency. It is more that I know how a vector works and haven't used a queue type if that even exists in C++. My knowledge of the language is relatively primitive and so I make do with what I do know

Author:  danc [ Sat Mar 03, 2012 11:23 am ]
Post subject:  RE:Ccc 2012

Oh. I was referring to the queue in C++. Makes life pretty easy. You can store pairs in it etc.

Author:  NeilV [ Sat Mar 03, 2012 11:33 am ]
Post subject:  Re: RE:Ccc 2012

VK_eipi @ Sat Mar 03, 2012 1:26 am wrote:
NeilV @ Fri Mar 02, 2012 2:54 pm wrote:
see this is why I love python. For S4 I just kept the state as a list and stored it in a dictionary, which has constant lookup time. In other words, I let python hash it for me Smile


To clarify, were you referring to a tuple instead of an actual Python list? Lists in Python are not hashable and cannot be used as dictionary keys.


Yeah actually I did convert it to a tuple for the dictionary. But then I worked with it as a list since tuples are immutable.

Author:  crossley7 [ Sat Mar 03, 2012 12:49 pm ]
Post subject:  RE:Ccc 2012

ok, danc. Well, now after the last dwite and this, I have learned 2 new types in c++ Very Happy

Didn't know about pairs or queue. Both of those would make some problems much easier

Author:  ultimatebuster [ Sat Mar 03, 2012 1:06 pm ]
Post subject:  RE:Ccc 2012

Ah this is embarassing.. I have a 54 according to my teachers. I failed at question 3 and 4, where question 3 it's a matter of just being stupid: all of my own test cases are really the same case.. and here's the incorrect line:

CODE:

return max(secondreadings) - topreadings[0]


Where as the correct is

CODE:

      if min(secondreadings) < topreadings[0]:
        return min(secondreadings) - topreadings[0]
      else:
        return max(secondreadings) - topreadings[0]


... Can't believe I made a stupid error especially since i instantly saw my problem when i ran through the first test case.. damnit.

Something went wrong in my BFS algorithm or my hashing algorithm for S4. It looks like all of the test cases gave incorrect answers for my solution in S4, even though all my own tests passed.

It's probably going to turn out to be something really really dumb as well.. so I don't even want to spend hours debugging my BFS algorithm..

Author:  danc [ Sat Mar 03, 2012 1:12 pm ]
Post subject:  Re: RE:Ccc 2012

crossley7 @ Sat Mar 03, 2012 12:49 pm wrote:
ok, danc. Well, now after the last dwite and this, I have learned 2 new types in c++ Very Happy

Didn't know about pairs or queue. Both of those would make some problems much easier

haha, and i guess while you're at it, i'll mention priority queues too! useful for dijkstra's, but top element is always the largest value, so you have to negate them. both are in <queue>. useful stuff, yo!

Author:  Advecticity [ Sat Mar 03, 2012 8:37 pm ]
Post subject:  RE:Ccc 2012

What's the O() running time for the solution of S4?

Author:  smaxd [ Sun Mar 04, 2012 12:36 pm ]
Post subject:  Re: Ccc 2012

I did the Junior competition during the CCC. Got all but J5 perfect. Yesterday did a mock run through of the senior competition.
Got all but S4 perfect. fml

Author:  bbi5291 [ Sun Mar 04, 2012 1:31 pm ]
Post subject:  Re: Ccc 2012

I've put the CCC 2012 problem descriptions and test data up on the PEG Judge, so you can try solving problems you didn't get during the contest, or whatever. You're limited to 60 seconds of execution time and 1 GiB of memory.

Author:  Snario [ Sun Mar 04, 2012 2:01 pm ]
Post subject:  RE:Ccc 2012

Did anyone write it in Turing? lol

Author:  D. McSmurfin [ Mon Mar 05, 2012 9:16 pm ]
Post subject:  RE:Ccc 2012

I hear CCC Stage 2 is going to be easier than Stage 1 this year.

Author:  ihsh [ Mon Mar 05, 2012 10:37 pm ]
Post subject:  Re: RE:Ccc 2012

D. McSmurfin @ Mon Mar 05, 2012 9:16 pm wrote:
I hear CCC Stage 2 is going to be easier than Stage 1 this year.

Where did you hear this from? Shocked
If this is true, then everyone who advances to stage two will be able to solve (almost) all of the problems!

Author:  VK_eipi [ Wed Mar 07, 2012 1:11 am ]
Post subject:  Re: RE:Ccc 2012

Advecticity @ Sat Mar 03, 2012 5:37 pm wrote:
What's the O() running time for the solution of S4?


For naive breadth-first search with a set storing visited states, checking expanded neighbours for membership in the visited set totals to O(E log V) and adding new vertices to the set is O(V log V) so running time is O((E+V) log V).

From my own data for n=3 to 7, it looks like, in the worst cases, V approaches n^n and E approaches n^(n+1). So that is O((n^(n+1)+n^n) log(n^n)) = O(n^(n+1) n log n) = O(n^(n+2) log n)

There is probably a much more efficient way of doing it, though. Does anyone have one to share?

Author:  d310 [ Wed Mar 07, 2012 8:06 pm ]
Post subject:  Re: Ccc 2012

I would like to correct you.
BFS has a runtime of O(V+E), you've mixed it up with Dijkstra's runtime of O((E+V) log V) (for a binary heap).
I agree with the n^n vertices statement, but for the number of edges... not so much.
Firstly n^(n+1) assumed that each vertex is connected to n other neighbours, but evidently that is sometimes impossible (e.g. all coins are in one stack). Additionally the graph is definitely not completely connected (as seen with the IMPOSSIBLE test cases), and you forgot to account for the same edge being used twice in your estimate.
So an overestimate for the number of edges is n^(n+1)/2.

I also disagree with the O(V log V) runtime for state checking. This can be reduced to O(Vn) (see ihsh's comment on 3110, meaning coin 0 is in stack 3, coin 1 is in stack 1, and so on), with the use of computer number systems.
Thus:
O(V+E+Vn)
=O(n^n+n^(n+1)/2+n^(n+1))
Simplified to
O(n^(n+1))

The runtime based on the unsimplified expression is about 9.5 million operations in the worst case of n=7.
This translates to roughly 1 second on a modern computer, for each game.

Author:  A.J [ Wed Mar 07, 2012 8:10 pm ]
Post subject:  Re: RE:Ccc 2012

D. McSmurfin @ Mon Mar 05, 2012 9:16 pm wrote:
I hear CCC Stage 2 is going to be easier than Stage 1 this year.


I can assure you that this won't be the case. Don't take Stage 2 too lightly. A good way to prepare for it is to take a look at some of the past Stage 2 problems, and maybe some other national olympiads.

Author:  mirhagk [ Wed Mar 07, 2012 8:26 pm ]
Post subject:  RE:Ccc 2012

does anyone know what the cut-off marks will be around?

Author:  VK_eipi [ Thu Mar 08, 2012 2:37 am ]
Post subject:  Re: Ccc 2012

d310 @ Wed Mar 07, 2012 5:06 pm wrote:
I would like to correct you.
BFS has a runtime of O(V+E), you've mixed it up with Dijkstra's runtime of O((E+V) log V) (for a binary heap).
I agree with the n^n vertices statement, but for the number of edges... not so much.
Firstly n^(n+1) assumed that each vertex is connected to n other neighbours, but evidently that is sometimes impossible (e.g. all coins are in one stack). Additionally the graph is definitely not completely connected (as seen with the IMPOSSIBLE test cases), and you forgot to account for the same edge being used twice in your estimate.
So an overestimate for the number of edges is n^(n+1)/2.

I also disagree with the O(V log V) runtime for state checking. This can be reduced to O(Vn) (see ihsh's comment on 3110, meaning coin 0 is in stack 3, coin 1 is in stack 1, and so on), with the use of computer number systems.
Thus:
O(V+E+Vn)
=O(n^n+n^(n+1)/2+n^(n+1))
Simplified to
O(n^(n+1))

The runtime based on the unsimplified expression is about 9.5 million operations in the worst case of n=7.
This translates to roughly 1 second on a modern computer, for each game.


My mistake. The operations I thought would use logarithmic time are constant time on average (with hash table or similar data structure), so like you said, log V does not play a part and it's just O(V+E)=O(n^(n+1)). Thank you for the corrections (I didn't even account for state checking against the solution).

For the number of edges, I agree that n neighbours per vertex is an overestimate; in fact, the maximum for any vertex is n-1 neighbours (for each pair of adjacent piles). However, it turns out that this maximum occurs surprisingly often, such that the average neighbours per vertex is usually between n-1 and n-2, leading to the same order of magnitude as my original estimate for large n. The reason is that a number of neighbours below (n-1) occurs only when there are 2 or more adjacent empty locations, which is rarely required for larger n where the coins are generally spread out. I also doubt the significance of the IMPOSSIBLE cases, since I only found one ("2 1") but I'm open to counter-examples. As for dividing by two for each edge, I did not keep track of parent states in my algorithm so I had to think about both directions. Perhaps that was a mistake, but I didn't want to store to essentially double the size of my states.

Author:  crossley7 [ Tue Mar 20, 2012 9:51 pm ]
Post subject:  RE:Ccc 2012

We are now 3 weeks removed from doing the contest. Anyone have an idea of when round 2 competitors come out? I don't remember from last year and it isn't up on the website yet. Still 2 months until round 2, but it would be nice to know if I qualified

Author:  d310 [ Tue Mar 20, 2012 10:12 pm ]
Post subject:  Re: Ccc 2012

Well, a date listed on last year's results was March 29, 2011 (on Comments, page 2). So expect results to come out around the end of March.

Author:  crossley7 [ Tue Mar 27, 2012 6:03 pm ]
Post subject:  RE:Ccc 2012

Quote:
Result for the 2012 CCC will be posted by Friday morning.


Results are finally almost here. Not sure why, but that is about the only thing that has been in my mind when I'm not completely zoned in on work this past week. I'll be glad to finally know how I did so I can stop worrying about it Very Happy

Author:  D. McSmurfin [ Thu Mar 29, 2012 9:22 pm ]
Post subject:  Re: RE:Ccc 2012

Quote:
Result for the 2012 CCC will be posted by Friday morning.


How do you know? Confused

Author:  ihsh [ Thu Mar 29, 2012 9:28 pm ]
Post subject:  Re: RE:Ccc 2012

D. McSmurfin @ Thu Mar 29, 2012 9:22 pm wrote:
Quote:
Result for the 2012 CCC will be posted by Friday morning.


How do you know? Confused

It's at the bottom of the CCC contest page.

Author:  ihsh [ Thu Mar 29, 2012 10:06 pm ]
Post subject:  RE:Ccc 2012

Oh, they changed the date:
Quote:
Results for the 2012 CCC will be posted on Monday, April 2, 2012.

Author:  crossley7 [ Fri Mar 30, 2012 6:35 am ]
Post subject:  RE:Ccc 2012

crap, I was looking forward to hopefully seeing them before I went to school today Sad Oh well, 3 more days isn't all that bad.

Author:  Yves [ Mon Apr 02, 2012 8:58 am ]
Post subject:  RE:Ccc 2012

Scores are up!
19 people advanced this year; the cutoff was 64 for Stage 2.

Author:  trintith [ Mon Apr 02, 2012 10:21 am ]
Post subject:  RE:Ccc 2012

Of course I get 63... Don't they usually take more than 20 in the case of a tie?

Author:  crossley7 [ Mon Apr 02, 2012 11:06 am ]
Post subject:  RE:Ccc 2012

I think they only took the 19 since the tie at 63 is fairly large at 8 people. It would likely not be economical for them to take 27 people since they need to plan sessions and stuff for the week.

It turns out my name isn't on the results anywhere (not even honourable mention) even with a 66 so my teacher is trying to find out why that is the case. Hoping to maybe get lucky and my files were skipped over somehow and they will add me to the list for round 2... possibly?

EDIT: Just found my name under Group 1 for Junior competitors for some reason. At least I know they have my results but somehow scored it in the wrong section.

*crosses fingers and hopes for the best*

Author:  trintith [ Mon Apr 02, 2012 1:49 pm ]
Post subject:  RE:Ccc 2012

Hmm... I'm not in the result booklet at all. Funny...

Author:  michaelp [ Mon Apr 02, 2012 8:33 pm ]
Post subject:  RE:Ccc 2012

I managed to get an honourable mention this year! Unfortunately my last name was spelt wrong, so I'll have get that fixed.

Author:  crossley7 [ Mon Apr 02, 2012 9:00 pm ]
Post subject:  RE:Ccc 2012

Just get an e-mail from my teacher. I'm in!!! Couldn't be much more psyched right now. Our school got 4 people in the results booklet this year which I think is a school record (Beating the previous record of 1 that we set last year) between JCCC and CCC. Not bad for a small town school

Author:  ihsh [ Mon Apr 02, 2012 10:20 pm ]
Post subject:  Re: RE:Ccc 2012

crossley7 @ Mon Apr 02, 2012 9:00 pm wrote:
Just get an e-mail from my teacher. I'm in!!! Couldn't be much more psyched right now. Our school got 4 people in the results booklet this year which I think is a school record (Beating the previous record of 1 that we set last year) between JCCC and CCC. Not bad for a small town school

Congratulations. Very Happy

So that means that there are exactly 20 people who advanced to stage 2 (and that a score of 63 is actually the 21st place)?

Author:  crossley7 [ Mon Apr 02, 2012 10:52 pm ]
Post subject:  RE:Ccc 2012

I believe so. Provided that there aren't any other errors in the results.

Author:  VK_eipi [ Tue Apr 03, 2012 1:33 am ]
Post subject:  Re: Ccc 2012

I got invited to Stage 2. Very Happy

Congratulations to all the other invitees, as well as other award and recognition recipients!

Author:  calaveras [ Tue Apr 03, 2012 7:25 pm ]
Post subject:  Re: Ccc 2012

Hi,

Anybody know how the 1 week schedule looks like for CCC stage 2 ?

I mean which day (Monday? ... Friday ?) do the contest ?

Which day do the practice session (programming and try to submit) ?

What development software tools they provide (Linux/Windows)?

Yours information was appreciated in advance.

Author:  pierret [ Thu May 24, 2012 7:18 pm ]
Post subject:  RE:Ccc 2012

how was like CCC stage 2 this year?

Author:  crossley7 [ Thu May 24, 2012 7:42 pm ]
Post subject:  RE:Ccc 2012

Overall the problems were lower difficulty than past years and 2 people got perfect scores overall (1 from China). It was loads of fun and overall everyone did well during the contest.

Author:  three0s [ Thu Aug 30, 2012 2:59 pm ]
Post subject:  RE:Ccc 2012

After 6 month of learning.... I decided its time to try S4 again (I skipped the question), and yes I figured it out.

Author:  crossley7 [ Thu Aug 30, 2012 3:48 pm ]
Post subject:  RE:Ccc 2012

That thing was a pain in the ass. I didn't ever run my program long enough to see if it would eventually get the correct answer and haven't even bothered to go back to it. I know it is a bfs now but I haven't tried to think about how to implement it.


: