Slashdot Mirror


ACM World Final Standings Posted

Nyerp writes "The final results for the ACM International Collegiate Programming Contest are up. Cheers for St. Petersberg State U, followed by my own school, the Univerity of Waterloo!" Congratulations, guys! I wonder if any of the world finalists used Pascal, since it's allowed.

184 comments

  1. Re:UWaterloo team member by Anonymous Coward · · Score: 0

    Ditto. I feel kind of bad, really, that there are so many people doing cool things at this school and I don't know any of them!

    Well done Waterloo! And congrats to St. Petersberg State!

    Question: I heard it said when I first got here that there were only two universities whose Comp. Sci programs were in the Faculty of Mathematics. One was Waterloo, of course, and the other was "somewhere in Russia".

    Anybody know if that's true, or is it just an urban (er, campus) legend? And which Russian university is the other one? (If it's St. Petersberg State - well, that'd just be weird.)

    Joe

  2. Re:Interesting Demographics..... by Anonymous Coward · · Score: 0

    Because girls are forced to play with barbie dolls and african-americans were enslaved once.

  3. You read my mind by Anonymous Coward · · Score: 0

    I may not be at one of those winning schools, but at least my classmates look like someone you'd want to be seen with in public.

  4. Good point on less known schools by Anonymous Coward · · Score: 0

    A nice thing about these contests is that lesser known schools can get known in one big pop. I used to teach at a school that is relatively unknown and low ranked, yet in my field everyone knew about it because our undergrads won a big competition a few years in a row. How did they win? Yep, tons of time devoted to practice.

  5. Re:Interesting Demographics..... by Anonymous Coward · · Score: 0

    Based on my experience, this is not due to racial barriers at most schools. Most U.S. schools (non-private scohols anyway) bend over backwards for variety in ethnics.

    So then what could be stated as the cause for this? Personally I think its 'environment'. The average black or hispanic individual does not grow up in a computer oriented environment. I'm not trying to be racist. Far from it. Its just the simple truth.

    Out of all the engineers I see every day at my work place (around 2000 employees), I've only seen one African-American engineer, and two African-American people working in IT. There are only one or two Hispanic engineers as well. Nearly all the engineers are from India, Japan, China, or the US.

    As for women, I find that the average women engineer is not white or from the US. Most of them are from an Asian or 'Indian' background.

  6. Sorry, but have to say it ... by Anonymous Coward · · Score: 0
    one word ...

    NERDS

    Ok, I'm trying to be a little funny here, and I really don't want to be mean spirited, but is the stereotype really true? Do all "computer geeks" really need to be pencil-necked weaklings?

    I've always felt that you can't have a healthy body without a healthy mind, and vice versa. I've always been into athletics and I've been lifting weights for the past 10 years now. But I've also been interested in computers since way back when I got my first apple][, and I've since got a degree in CS and have been employed as a programmer for the past 4 years.

    I love lifting weights. After a brutally hard workout, I feel refreshed, both physically and mentally. This allows me to be at my best, both at work and play. Yes, I have a thick neck and big muscles. A lot of people are surprised when I tell them I have a CS degree. I suppose I look like the stereotypicl dumb jock. Are "computer geeks" afraid people will think less of them if they are physically fit?

    1. Re:Sorry, but have to say it ... by Anonymous Coward · · Score: 0

      Sorry you've had such poor experience with 'computer geeks.' To be fair, yes, a sitdown job will not do well for your weigh/health, but quite a few 'computer geeks' are very actively physically.

      It is interesting to note the prevalance of martial arts amoung 'computer geeks.'

    2. Re:Sorry, but have to say it ... by iJeff · · Score: 1

      Read Slashdot's undertitle: News for Nerds.

      Man you gotta stop worrying about how other people compare to you "think neck and big muscles .." and all.

      Sounds like your trying to pacify an insecurity by justifing both your physical type and your intelligence

  7. Re:Interesting Demographics..... by Anonymous Coward · · Score: 0

    I competed in this contest this weekend. I think I saw 4 girls, and I don't remember seeing a single black programmer. I honestly don't know why. I can tell you that in the past four years on my team, we have had one black and one girl - horrendously low numbers since we field three teams at the regional competition. It's just that most of the people who show up at our local contest are white males

    As far as Pascal goes, I know that at least one team programmed in it, because I saw the guys from Warsaw U using it. The hot new language is Java, and a lot of teams are switching from C/C++

  8. Re:Don't forget the Putnam by Anonymous Coward · · Score: 0

    Didn't know so many Waterloo people were on here!!! Shouldn't you mathies be on the sixth floor while we engineers be in poets?? :)

  9. On grits and obsessive posting by Anonymous Coward · · Score: 0

    I really have avoiding feeding the flames you generate with all this grits stuff, but I have to tell you, I now understand what you mean. This is no joke - about a month ago I was eating grits for breakfast and was still wearing just the Perl t-shirt I had been sleeping in. I leaned over to grab the remote control and accidentally spilled the grits right into my lap. Dude, you are on to something, because that felt really interesting and extremely stimulating. Have you tried any other grains? I'm afraid to for fear of becoming some kind of food-sex freak. Anyway, just thought you'd like to know that and get some good news, because the moderators have been really harsh on you lately... I thought the upside down comment about Australia was really funny and shouldn't have been moderated down, but what can I do?

  10. My demographics observations by Anonymous Coward · · Score: 0
    I'm amazed by the lack of female interest in CS (worse yet, it's dropping off). My wife did CS back in the 1980s when it was really rare for women, and career-wise she lost interest pretty fast, got into management, then got her MBA from a top school and is now totally out of tech. We tried to get our niece interested in CS, but even though she is pretty competent with applications she has no interests in studying CS or anything technical in college (so we are trying to replace barbies with keyboards around our younger niece).

    An casual observation about African-American students, not meant as a generalization or anything totally explanatory, but in my CS classes I notice that nearly all the African-American students are holding down jobs that I imagine would pretty much rule out extracurricular activities like preparing for and attending a competition like this. Any comments on any of this is welcome/encouraged... I'm not black or female so I certainly don't have a FPS view of any of this.

  11. Re:Don't forget the Putnam by Anonymous Coward · · Score: 0

    >Didn't know so many Waterloo people were on >here!!! Shouldn't you mathies be on the sixth >floor while we engineers be in poets?? :) I just had to add one more mathie, why not. Hey I probably granted most of you post 96ers your pink tie. Anyhow congrats to all those who did so well in the both contests. Ciao Bella

  12. cool by Anonymous Coward · · Score: 0

    whoa, thats pretty cool

    1. Re:Cool by paulschreiber · · Score: 1

      wow. rasmus was a syde. :) Paul 4A CS in S00

  13. Not surprising by Anonymous Coward · · Score: 0
    We'd expect you to say something like, what with your beady little eyes and flapping head so full of lies.

    It's always easy to say "get over it" when your side is the one that won. The judges screwed up, and the contestents are being penalized for that. This is supposed to be a professionally conducted competition, and as such the judges need to take responsibility for their mistake.

  14. OOG BREAK CANADIAN HEADS!!! by Anonymous Coward · · Score: 0

    WATERLOO GAY!!! CANADIANS UGLY AND STUPID!!! OOG BREAK HEAD!!!

    1. Re:OOG BREAK CANADIAN HEADS!!! by Anonymous Coward · · Score: 0

      OOG JEALOUS!!! OOG GAY!!! OOG LIKE TO PLAY WITH HEAD OF AMERICAN MAN!!!

  15. Re:Like Rodney Dangerfield, UCF gets "no respect"! by Anonymous Coward · · Score: 0

    I think you will find little sympathy from people living in Orlando about the obvious bias of the Orlando Slantinel. :)

  16. my gripes by Anonymous Coward · · Score: 0

    The one time I've been up to the Great White North, I made a point to stop by at the UWaterloo. In the middle 1980s when we learned on a 'frame, all of the best almost-free-ware came from UWaterloo: WLoo script, GML, Prolog interpreter, C compiler...They didn't waste time bitching about not having an LSI11 running BSD, they JUST HACKED THE DAMN CODE ON WHAT THEY HAD, which was an IBM 'frame. And it was good.

    When I got there the first thing I noticed was all of the unadorned reinforced concrete, just like where I went at the UofIllatChicago: Architecture in the "correctional modern" style we called it. So I decided that UWLoo is OK, even though they're Canadian :-) Hey! Do they still brew Toby Ale up there?

  17. Re:Waterloo Team Selection by Anonymous Coward · · Score: 0

    I think the UW B team beat the UW A team three years in a row. 1995, 1996, 1997.

  18. Re:UW get poonage... by Anonymous Coward · · Score: 0

    Water! Water! Water! Loo! Loo! Loo!

  19. Not too bad by Anonymous Coward · · Score: 0

    A few of the problems just required some basic knowledge of algorithms. If you were desperate, you could make up your own on the spot. The max-flow problem was trivial.

  20. Re:Cool. Another "place." by Anonymous Coward · · Score: 0

    dude, looking at the winners pic, I wouldn't want to go to any of the winning schools. those are some ugly fucks. i prefer to go to schools where they have some cute bitches.

  21. Re:UW get poonage... by Anonymous Coward · · Score: 0
    Water!

    Loo!

    Water!

    Loo!

    Water! Water! Water!

    Loo! Loo! Loo!

  22. YOU DARE IMITATE OOG??? by Anonymous Coward · · Score: 0

    THIS REAL OOG, I REAL OOG!!! OOG BREAK IMPOSTER'S HEAD!!! OOG NO APPRECIATE DOPPELGANGER OOGS!!!

  23. Respect! by Anonymous Coward · · Score: 0
    Congrats to St. Petersburg State University, and especially to UWaterloo! Nice to see a Canadian University right up there. Though, too bad U of T didn't fare so well, but at least we tied with with MIT! Oh yeah, next year, MIT's Dean of Science will become the University of Toronto's new President, who not to mention is a U of T graduate. So much for the "canadian bashing".

    And regarding the CompSci program at U of T, it is an excellent program, which is right up there with UWaterloo's program. You can get more information at the following website: Computer Science @ U of T

    By the way, U of T is better than UWaterloo!! (in everything else that is :)) hehe

    1. Re:Respect! by Anonymous Coward · · Score: 0

      Let's not forget that University of Alberta placed 10th, and 2nd in North America.

  24. Re:UWaterloo team member by Anonymous Coward · · Score: 0

    Donny Cheung is standing in my room right now!

  25. Its a programming contest, not an algorithm one by Anonymous Coward · · Score: 0

    On the whole programming is not about intelligence. The majority of programming is dumb work, and a programming contest should reflect that. And yes that means accentuating coding speed.

  26. Nerds love Bruce Lee films by Anonymous Coward · · Score: 0

    That probably explains some of that prevalence.

  27. Re:Programming is cool, but... by Anonymous Coward · · Score: 0

    Frankly sir, you know nothing whatsoever of real networking.

  28. Re:Pascal baby! by Anonymous Coward · · Score: 0

    If Pascal is so elegant than why isn't it possible to implement any significant portion of the standard library IN PASCAL? Take for example the procedure "write". It can't possibly be valid Pascal, as it uses a variable number of parameters. In C, I can at least implement the library!

  29. Re:Prizes by Anonymous Coward · · Score: 0

    By 'scholarship', they mean 'cash'. After all, to participate, you have to be in school, so a scholarship is cash, especially when it is given in cheque form. :-)

  30. Re:Cool. Another "place." by Anonymous Coward · · Score: 0

    ok, why don't you outline your solutions to problems c and d for us since they are so easy it wont take you but a minute

  31. Re:Controversy over Problem F by Anonymous Coward · · Score: 0

    Contestants are strongly discouraged from using clarification requests. In particular they are told: don't question the validity of the data don't ask any questions So unless the question is ambiguous there is really no point. And there was no ambiguity whatsoever about the statement in the question that the graph was connected.

  32. Re:Use of Pascal by Anonymous Coward · · Score: 0

    Curious as to how many teams use VB in the contest. I'd choose it for its quick debugger. Its got all the needed language features too. If not, why... Are CS departments biased against it? Students too comfortable with standard CS languages? Im curious if VB still suffers from the bad image BASIC has had in academia.

  33. Re:I looked at the problems... by Anonymous Coward · · Score: 0

    Well, I think it means that Knuth was actually walking the maze. Same data, but probably a little bit harder to visualize without the arial sitting in front of you.

  34. Re:Prizes by Anonymous Coward · · Score: 0

    Teams from British Columbia was in the regionals (I believe both UBC and Simon Fraser were involved), but they could not advance to the World Finals.

  35. Re:Compsci under faculty of math by Anonymous Coward · · Score: 0

    Being someone who has been to the finals before, I can tell you that having good math skills is what set the top teams apart from the average teams. It certainly helps tremendously. Sometimes its not really the math that helps, but it's the thinking skills you learn from all sorts of mathematical areas that help you most.

  36. Yet more Waterloo alumni by Anonymous Coward · · Score: 0
    As long as we're all checking in - greets to the Waterloo folks out there. Congratulations on your success. And keep up the emphasis on math and computer *science*. Resist all efforts at selling out to industry.

    You might think grinding your way through Calculus and Algebra and graph theory is pointless, but believe me when I say it will make you a better programmer.

    - Steve van Egmond, b.math 1997
    http://bang.dhs.org/

  37. Re:My comment by Anonymous Coward · · Score: 0

    This is an urban legend.

  38. Re:UWaterloo team member by Anonymous Coward · · Score: 0
    Hey wassup UWaterloo people!? Congrat's on the contest! Congrat's to U of T as well! :)

    I was wondering though, what language and IDE did the team use for the contest...C++, Java, Pascal, etc?

    Also, what language is in "style" nowadays for the contest?

  39. Re:Controversy over Problem F by Anonymous Coward · · Score: 0

    This would explain lots. Being a past participant in this contest, I watched the whole thing online and was very surprised to see that so many teams have problems with F (esp. for good teams like Waterloo). It's another reason to push for "open-sourcing" contest problems/solutions/data sets, which many regions still refuse to do (I helped out in a region that releases everything). The main thing that happened was that we worked extra hard to make sure that there were no errors, just so that we don't get embarrased. Unfortunately, many regions do not release this for exactly the same reason. Nobody would know if the messed up.

  40. Re:Controversy over Problem F by Anonymous Coward · · Score: 0

    The problem of incorrect data sets is not a new one. I was part of a UWO team several years back that in a regional contest that included an incorrect data set. The judges admitted this after the contest was over. I believe the method of segfaulting on encountering invalid data was used to prove this to the judges. So all people entering the ACM contest should keep that trick in mind.

  41. U of G by Anonymous Coward · · Score: 0

    where's the award for the university of grits? I have a ba in pouring hot bowls of grits down my pants. thank you.

  42. ACM problems by Anonymous Coward · · Score: 0
    Of interest, I think the set for dice was under maze. Next, when row/column is considered, for each is a walk-through. When Robert Abbott, the creator and author, contradicted, the original concept statement was offered.

    This is good, because the contestants could not solve expertise low. If the sequence started with N, S, E, or W, the end was similar. This is not intuitive, nor regular. Good job, all.

  43. UW get poonage... by Anonymous Coward · · Score: 0

    UWaterloo, the best math/engineering skool in North America.
    suk it!! -dik

  44. Re:No they create Unix(and C) by Anonymous Coward · · Score: 0

    That's why kernighan and ritchie are the men.

  45. Karma whore by Anonymous Coward · · Score: 0

    Most of us can just read the links, thankyouverymuch.

  46. Re:Interesting Demographics..... by Anonymous Coward · · Score: 0
    Certainly some motivation to enter into education or an -ology where all the girls are at, (and the good lookin ones too, definately not enough of those in computer science.)
    So that's why there are almost no girls in physics, but there's lots (and good looking at my university, too. :), in biology: Physics doesn't end with ology. Damn :(. OTOH, there are girls in chemistry. At the Canadian Physics Olympiad, 1997, there were 15 guys and no girls. The Chemistry Olympiad, at the same cegep (sp?) in Montreal, had 8 guys and 7 girls, IIRC.
    Man, you were lucky in '97. In '99 there was about 16 people for the Canadian Physics Olympiad and about the same for chemistry. There was only one girl, and in chemistry above all.
    An yes I agree, there's definitely a lack of nice girls in physics.
  47. Re:My problem with the contest by Anonymous Coward · · Score: 0

    Points well taken.

    I was exacerbating the problem in my post. I think you'd have to agree though that the fact that this contest emphasizes coding time so much, has to lead to some "bad" coding practices.

    When I say "bad", I mean from the point of view of working on a moderately large project, with lots of other people. These days that is what being the programmer in the Real World seems to be all about. In such a setting the emphasis has to be on code readability and reusability, and not nearly as much on coding time. You have to write your code for people first, computers second, which seems IMO almost contrary to what you need to do for this contest.

    Perhaps if you go back to some code you wrote for this contest a year ago, how long would it take you understand what is going on? How long would it take someone else?

  48. You are right. by Anonymous Coward · · Score: 0

    I am in AC/M and boy, am I ever a monkey! I and the rest of my ACM Monkey brethren are going to throw feces at you now!

  49. Re:Cool. Another "place." by Anonymous Coward · · Score: 0

    well then, i think that this goes to prove that MIT/CMU/XYZ have got reps that are overrated, partly because their funding is unbelievably high.
    in competitions where money counts, such as the Midnight Solar Car races, sure these US colleges are gonna come up on top, because they have $1 million in funding while Waterloo is strugling to buy a helmet!
    but where brains count, us waterloo engineering/cs students will kick all of your US butts anyday.
    that's right.

  50. Re:Programming is cool, but... by Anonymous Coward · · Score: 0

    Frankly, it takes more skill to program well, then to simply hook up someone elses premade equipment.

  51. Re:1st -GRRRR ive had enough by Some+Strange+Guy · · Score: 0
    There has got to be a way to stop this crap.

    It's called threshold. 2 is a pretty damn effective filter, especially of noise like that.

    Thankfully, it also tends to filter out the whining of people who don't have their threshold set above 0...

  52. Re:Cool. Another "place." by Anonymous Coward · · Score: 1

    I too was on the CMU team, and I'd like to add my 2c.

    I can first of all confirm what Dom said about practicing. In fact when an IBM rep asked us at the regionals how much we practiced for the contest, all three of us simultaneously started laughing.

    I believe that practice makes a big difference in this contest. This is because you need a bit different set of skills to be really successful in this contest than you do to be a good CS student. Take a look at a contest problem, how fast (the operating word being FAST) can you determine what algorithm to use (or come up with one) to solve it? This is mostly in line with what you need to do well on some of the CS exams at CMU.

    Now though, how fast (the operating word again being FAST) can you correctly code this up? And when what you were sure was a correct solution comes back from the judges with the informative message "wrong answer", how quickly can you find and fix the problem? Being able to code very quickly is not something I found to be at all necessary for academic success in my 3.5 years at CMU. I do think that this is a skill that can be greatly improved with practice.

    There are other contest specific issues, like being able to manage the computer time - you biggest limiting factor, being able to work well with your team, having a booklet of algorithms implemented in C in as few characters as possible (you are allowed books, notes, etc).

    I don't want to take anything away from Univ. of St. Petersburg, or Waterloo, or any of the other teams that put a great deal of effort into preparing for this contest. I salute them, that's what it takes to be champions.

    I can surmise that the reason that CMU does not put more effort into this contest is that 1) we do ok anyways; 2) CMU does not really need this contest to boost its reputation. On the hand, Waterloo for example is much less known, and can use the tremendous success they've had in this contest over the past few years as a big selling point, and a way to get more exposure.

  53. My problem with the contest by Anonymous Coward · · Score: 1
    I think that this contest does not necessarily emphasize the right programming skills, and that great performance on this contest is not indicative of being a great programmer.

    In fact, I'd go as far as to say that practicing a lot for the contest is probably more detrimental to you as a programmer than beneficial.

    Allow me to elaborate, here is the right and the wrong way to do a contest problem:

    The WRONG way
    You spent a great deal of your time planning out how you are going to solve the problem. You keep copious records of all your design rational and tradeoffs you considered along the way. When you do solve it, your code has a beautiful OO structure, filled with design patterns, and copious comments. You variable and function names have long descriptive names. You use elegant data structures, together with efficient algorithms, guaranteeing good performance both in the average and worst case (whether this is in real life or asymptotic terms and why is explained in detail in your design notes).

    Your code is extensible, reusable, modular, and most of all maintainable. It easily generalizes to other problems of this type. It does extensive error checking, every function parameter is validated, every exception is caught, every effort is made to insure that there are no resource leaks (memory or otherwise), even under most strenuous of circumstances. Its very well tested, and you have great deal of confidence in your work.


    And now The RIGHT way
    As soon as you are marginally sure you have an idea of how to solve the problem you start hacking away. You use as few functions as possible, with as many global variables as possible. You rarely have any function or variable names longer than 3 characters, if you do those probably have names like "asdf", or "dfjk" (easy to type). Unless its REALLY inconvenient you store all your data, no mater what it is, in giant global arrays of int's, each one of them bigger by at least a factor of two than it needs to be (wouldn't want any index overruns). You don't concern yourself with performance unless your first submission comes back with "Ran too long". You don't concern yourself with stability unless your first submission comes back with "Runtime error". As soon as your program works on the sample input, you submit it.


    Wait a minute now that I think about it...hmm...with time to market and all...well, maybe this contest is a good measure of how good a programmer you are.
    1. Re:My problem with the contest by donny · · Score: 1

      Hyperbole noted.

      I will point out that the number of questions solved always comes first. This is why Waterloo came in 2nd, with a massive collection of penalty points.

      It is interesting, though, that even with all sorts of "planning" and "architecture" in the "Real World" (tm), software still manages to suffer under the "release date crunch" and turn into a horrible mess for the poor developers who follow. Anyways, there is a time and place for everything. With the contests, though, the code isn't necessarily "computers first, people second" unless you have the uncanny ability of being always correct on the first try. Probably half and half.

      It is funny that you mentioned year-old code, because I actually recently had to dig some of it up (not for a contest, though). It didn't take me that long to figure out what I did. I used reasonable words like "above" and "below" to describe my arrays.

      Donny

    2. Re:My problem with the contest by donny · · Score: 1

      You are associating the ability to make up long names and design classes with good programming skill. Any fruitcake can make up long descriptive names for things, and designing objects isn't far behind that. But something has to make that object do something...

      You seem to think (and actually, I see alot of people think) that this is some kind off hacking contest where because structured code is not necessary, we have some kind of real-time obfuscated code contest. I have little experience with what other teams write, but I can tell you that our team writes code which is well-structured (not object-oriented or anything, but somewhat modularized), with variable names which are sometimes a little terse, but important ones usually have mnemonically useful names. (Like q for a queue, or whatever). No asdf.

      Performance is very important. An estimate of the upper bound for run-time is always made before we type any code in. If it isn't going to run in time, we aren't going to try that strategy. We plan our strategy for attacking a problem so that when it comes time to code, we know exactly what we need and where it goes.

      Stability is also important. You KNOW that the judges are going to try to trip you up on null strings or disconnected graphs or other things, so you need to cover all sorts of obscure special cases.

      You are describing an ACM team which has adopted some sort of probabilistic method of getting problems. I can assure you that if you submit a POS program with no indentation and no structure and all sorts of strange constructs all over the place, when it comes back incorrect, you will have the time of your life debugging it.

      The ability to design reasonably structured debuggable code is crucial to doing well on these contests. I suppose reusability isn't that important. Nothing ever gets accomplished by hacking away as soon as you have some faint idea of how to solve a problem. It is inevitably harder than you think it is if you are not careful this way. Comments are sometimes added too, but I suppose not verbosely. We don't explain what a for loop does, for example.

      I should say that when we solve contest problems in practice, often we can print out our solution with minimal clean-up and use it as a reference solution to the problem for the real contest.

      Is this the WRONG way or the RIGHT way? I suspect that this is somewhere in between. At any rate, we are certainly not training ourselves to be spaghetti coders. If we used your outlined "RIGHT way" strategy, I'm sure our team would be trying to hitchhike our way back to Waterloo from Orlando right now!

      Donny

    3. Re:My problem with the contest by ruhtra · · Score: 1
      It's not clear to me whether the contest format is as detrimental as you suspect.

      The contest scoring also penalizes incorrect solutions and indirectly penalizes them further because active debugging chews up terminal time.

      If you don't get a problem right on the first try, you usually have to get a printout and debug from there because a teammate needs the machine more. The ability to write small, self-contained bodies of code quickly and correctly could be seen as very desirable. Spending time with a compiler to rid your code of sloppy syntax errors is another thing that gets bred out of lots of contestants. The contest itself does not test large design skills but I don't see it creating bad habits there either. All of the better contestants know they're using certain shortcuts only because it's a contest. arthur

    4. Re:My problem with the contest by ringm · · Score: 1

      As soon as you are marginally sure you have an idea of how to solve the problem you start hacking away
      Correct.

      You use as few functions as possible, with as many global variables as possible
      You just should not try to add some artificial structuring and naming convention. You do what you do.

      "asdf", or "dfjk" (easy to type).
      Not to this extent of course. You would not be able to read the code at all afterwards.

      in giant global arrays of int's, each one of them bigger by at least a factor of two than it needs to be
      Dynamic data allocation is more convenient, especially if no limit on data size is implied in the problem.
      These guys in ACM do such things very often. This in nonsense at Russian regionals, and especially at Russian IOI (high school contest) regionals - all problems are absolutely correctly formulated, all input sizes and limits are specified.

      You don't concern yourself with performance unless your first submission comes back with "Ran too long".
      Usually in contests like this one you don't have to concern yourself with performance at all, unless for example you have chosen a wrong algorithm that works n! time instead of n^2...

      You don't concern yourself with stability unless your first submission comes back with "Runtime error". As soon as your program works on the sample input, you submit it.
      Nah, this is absolutely wrong. You can do things like this only in the very end of contest, when nothing can save your fate already. Usually in our team one thinks on the solution, and creates test data even before he gets to the keyboard. If no, some other member of the team creates test data. Testing rarely takes more than five minutes, while you save a penalty of twenty - that's a lot...
      However, sometimes you're just sure you couldn't have made any mistake... Then you can submit :))


      // Oleg Semenov, St.Petersburg team 1998-1999

  54. Cool by Rasmus · · Score: 1

    I did my time at U Waterloo as well. Systems Design Engineering, 1993.

    -Rasmus

  55. Similar problem many years ago. by DunbarTheInept · · Score: 1
    Quite a few years back, I had participated in the undergraduate version of this, just at the regional level (didn't make it to the world finals). I remember getting really mad over faulty information in the givens for one of the problems. It caused us to fail our solution several times over, and since they aren't allowed to tell you anything other than "wrong result", we couldn't tell what was wrong.

    Part of the problem involved having to find the value of N!, where N could get up to a max size of M (I can't remember the exact numbers anymore). You were supposed to tally how many times each digit appeared (assuming it is represented in decimal) in the resulting number. The point was that the good programmer should immediately recognize that there was no way to solve this problem using the built-in binary numbers on any computer, since it required that you store long numbers with perfect accuracy (so floats are out too). So the point was to quickly whip up a string-ized number format, and implement a multiplication routine for it so you could do large factorials. Pretty simple and routine once you realize that you will have to do this, right?

    Well, it *should* have been simple, and it *would* have been if it weren't for the fact that the problem's givens lied to us about how many digits were in M! (It was given that M! would be the largest value in the test data, and that it contains no more than XXX digits.). They said too few digits, and as such our array was too small to hold the result. Our algorithm was actually correct, excepting this one mistake, within 10 minutes of the contest's start. And the rules of the contest prevented us from getting any clarification about what was failing in our test submissions, and there is no way to quickly check if the givens were correct, since you can't calculate what M! is in reasonable time when M is big. (Not without a program - which is what we were making). Besides, since they were givens, we shouldn't have *had* to check them. I was in a funk for a week after that because it wasted too much of our limited time and we had it *right* dammit, from the first 10 minutes. The mistake in the givens didn't get publicised until after the contest was almost over, and we'd already squandered away our time on this one problem that we knew we were this close to finishing.

    That was a long time ago, but it still irks me. That one mistake kept us from going on to the next level of the contest. If that given had been correct, then our first submission, 10 minutes into the contest, would have given us enough total points to go on to the next level. (It was one of those years in which even the best finishers only got 2 of the problems right.)

    --

    Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  56. Re:Interesting Demographics..... by peter · · Score: 1
    Certainly some motivation to enter into education or an -ology where all the girls are at, (and the good lookin ones too, definately not enough of those in computer science.)
    So that's why there are almost no girls in physics, but there's lots (and good looking at my university, too. :), in biology: Physics doesn't end with ology. Damn :(. OTOH, there are girls in chemistry. At the Canadian Physics Olympiad, 1997, there were 15 guys and no girls. The Chemistry Olympiad, at the same cegep (sp?) in Montreal, had 8 guys and 7 girls, IIRC.
    #define X(x,y) x##y
    --
    #define X(x,y) x##y
    Peter Cordes ; e-mail: X(peter@cordes , .ca)
  57. Amen Brother! by iago · · Score: 1

    I think the reason that UCF gets overlooked for funding is because of the amount of FSU/UF grads in politics. Though, UCF gets a ton of money from the private sector.

    Unfortunately, we won't have a first rate sports program until we build better facilities for our athletes.

    But, things are changing and UCF is growing. Unlike UF and FSU, there's plenty of room for us to grow.

    There's a picture of the scoreboard at Florida Field from the UF/UCF football game from last year. KNIGHTS 7 GATORS 0. (of course, its in the first quarter and there is 12 minutes left.)

    Go Knights

    --
    Worst Sig Ever
  58. My comment by Taco+Cowboy · · Score: 1



    Here is my comment:

    1. Why Java?

    I understand that Java is the rage nowadays, but why Java?

    Java is defintely NOT something that will last. Java is not a FREE language, it is still in many ways controlled by SUN.

    Unlike C, C++ or Pascal, one day Java is still under Sun's control, one day Java is not FREE.

    I rather see the ACM contest use python and/or perl than Java.

    2. Language.

    I understand that to ease the judging process, the English language is used.

    But if the competition is to open to the whole world, wouldn't it be better that the contest be available in other languages as well?

    Imagine that you are not an English speaker, and there are certain things in English that you may still have problem with - even if you are a top programmer - the problem of mis-understanding the question may hamper the competitors' ability to complete his/her/their project, as well as they should have been.

    As I understand - and I am a member of ACM as well -, the ACM is made up of people of all ethnic groups, and there are MANY people from ACM that can be used to help out in the translation process, in problem texts or whatever that needs translated.

    I hope that in coming years, the ACM competition will offer contestants a choice of either using the English text, or language of their own choice.

    In this way, the competition would be fairer, get rid of the language problems, and you may have a better-run programming (computing) competion.

    Isn't that a COMPUTING competition is all about?

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:My comment by spiralx · · Score: 1

      In response to point 1 I agree. Given the way the contest is judged I think Python would be ideal - it can be vastly quicker to develop a working implementation of an algorithm in Python than it can in C/C++/Pascal or whatever.

    2. Re:My comment by Abigail-II · · Score: 2
      I rather see the ACM contest use python and/or perl than Java.

      There was once a programming contest that allowed the use of Perl. I think it was in one of the contests to gain access to a regional final of the ACM contest, but I might be mistaken. There was a one-man team. Who solved all problems correctly within an hour. Using Perl. The team finishing second (not using Perl) solved half of the problems.

      Perl is no longer allowed in ACM programming contests.

      -- Abigail

  59. Could I have used Perl? by jjr · · Score: 1

    Perl is a great language. The stuff that you can do is just great. I don't think that one would have been an option :(



    http://theotherside.com/dvd/

  60. Tips for similar contests? by FleaPlus · · Score: 1

    Hi all,

    My high school's going to be attending a similar contest (on a smaller scale, of course) at Stetson University, in Florida. Hopefully, I'll be placed on the team. Does anybody with experience with these sorts of contests have any tips for us? Information on how best to coordinate a team, reference books to bring, documents to read before hand, etc.?

    The main hurdle I see is that fact that only one workstation is available for the entire team, which is definitely awkward.

    1. Re:Tips for similar contests? by prijks · · Score: 1
      I'm involved with the programming team here at Notre Dame. We actually went to the regionals, which for our region were held at Waterloo. The guys at Waterloo rocked.

      Anyway, some advice:

      • read over all the problems at the beginning and find the easy ones fast. It's important to get those done first, because that'll help your score a good deal.
      • practice as a team. Ideally you'll want to download a sample problem set from somewhere, limit yourselves to a few hours, sit down at one computer, and get used to the whole scenario. The biggest problem our team had was a keyboard bottleneck. I had written up on paper code to solve one of the problems, but didn't get enough keyboard time to debug at the end. When all was over and I was back home, I downloaded the code I'd been working on, and it took me about 10 minutes and 5 lines of code to get what I was working on functional. Those 10 minutes would have made the difference between us getting 3 problems right and being in sixth, and getting 4 problems right and possibly getting third place and going to world. This was the first major programming contest for the three of us on our team, so we hadn't practiced using one machine amongst three of us, and it takes some getting used to.
      • If you're allowed to bring in printed materials, I'd recommend not bringing too much, you will probably want to limit yourselves to a good algorithms book, a calculus book, maybe a geometry book, and maybe printouts of man pages for useful C functions.
      • Be comfortable with manipulating numbers in different bases, sometimes problems throw a problem at you where input isn't in base 10. If you know how to handle this, it won't be a problem, but if you don't, you'll waste time...
      • realize that the data sets they test your program with will probably be much larger than the sample data sets, so even if your program seems to run fast, it may not. It doesn't hurt to know basic complexity analysis. I saw a recursive program once that ran quite quick on a sample data set, but after some simple complexity analysis I realized it would run for 10^30 years on a larger data set.
      • Don't underestimate the powers of the modulus operator (% in C).
      That's all I can think of right now. A really good source for sample problems is on Waterloo's webpage: http://plg.uwaterloo.ca/~acm00/. Also feel free to look at the page I maintain for the ND programming team: http://prijks.esgeroth.org/puters/acm/
      I'll stop now, I think.
    2. Re:Tips for similar contests? by abeacham · · Score: 1

      I competed on the University of Alberta team in the '98 and '99 finals. Congratulations to this year's team!

      Here's a few quick hints:

      • Have a firm grasp of standard algorithms (shortest path, max flow, etc.) Bring printouts.
      • An excellent source for sample problems may be found at http://acm.fi.uva.es/.
      • Practice both individually and as a team. Decide in advance how you will share the single terminal. If you can't find a bug within a few minutes, print out your code and let someone else have the workstation.

      Good luck!

      - Adam

  61. I don't know! by Thrakkerzog · · Score: 1

    Did you ever hit reply, and leave for a long time?

    I can't remember what I was going to say, or what I was replying too.

    =/


    -- Thrakkerzog

  62. Greetings from an Engineer by Pingster · · Score: 1

    Hi everyone! I figured while everyone was checking in and patting our friends from Waterloo on the back, i might as well join in too. Congratulations to Donny, Jeff, and Ondrej!

    I did the contest once, but there are no memories of the math building's comfy lounge for me: I graduated from Computer Engineering at Waterloo in 1998. 1994 was a fun year: we went with united forces from CS and Engineering and kicked butt. Those ACM contests are really fun, though i agree with the others that judging errors do suck and some accountability would be nice.

    I've known Donny from a long time ago...

    -- ?!ng

  63. Like Rodney Dangerfield, UCF gets "no respect"! by BitMan · · Score: 1

    The Unversity of Central Florida. We've been doing the ACM for about 15 years now. Regularly win our regionals or place in the top 3. We are also considered a top 25 school for Electrical and Computer Engineering according to the College Board (the SAT/GRE "guys").

    And there we are, #15 this year (out of >>2,000 teams) -- right next to MIT, Carnegie Mellon and Virginia Tech. Plus, a brief history of UCF's world rankings ...

    • 1997: #16 (out of 1,100 teams)
    • 1996: One of the 43 world contestants (out of >1,001 teams)
    • 1995: #19 (out of >900 teams)
    • 1994: One of the 35 world contestants (out of 628 teams)
    • 1992: #7 (out of >600 teams)
    • 1991: #16 (out of >500 teams)
    • And plenty of world rankings in the '80s (world rankings prior to 1991 not available on-line).

    But people in Florida spit on us and, until recently, we used to get 1/10th of the funds of UF or FSU. We have more programs and students than Florida State (let alone 10x the graduate programs) and are barely behind Florida! Add in the fact that we have the 2nd largest research park in the US and it makes me wonder.

    It wasn't until our Football team moved up to I-A (in 1996) and started playing big schools (and nearly beating them) that we finally got some money proportional to our size. Very sad that sports seems to drive everything.

    Again, no respect!


    -- Bryan "TheBS" Smith

    --
    -- Bryan "TheBS" Smith
    Independent Author, Consultant and Trainer
    1. Re:Like Rodney Dangerfield, UCF gets "no respect"! by donny · · Score: 1

      I got the impression from the Orlando Sentinel yesterday that there were only two teams at the competition, St. Petersburg and UCF. I'm not bitter about the fact that Waterloo wasn't mentioned as coming in 2nd, but just that the local bias is on par with our school paper, the Imprint.

      Anyways, enough ranting. I feel sorry for the UCF team because of the local news station which decided to camp out behind you guys during the actual contest and poke their cameras right into your faces while you were trying to work. Or that's at least what it looked like from our end.

      Yes, it is a shame that American football seems to determine a school's worth in the US, unless you happen to be a big-name school like MIT or Berkeley. In a way though, doing well in the contest has put some small schools on the map in the CS world. I wish the UCF programming team continued success in the future.

      Donny

  64. think... by joshua_doesnt_know · · Score: 1

    I could just imagine how good these people who won are if my group didnt even make it through the regional competition. They must be getting job offers like crazy... And if they arent, they should.

    _joshua_

    1. Re:think... by zatz · · Score: 1

      typing speed and accuracy are not particularly relevant. the programs typically arent very long (200 lines is about the most ive seen, and mine are often &lt50) and the compiler warns you about almost all typos. its much more important to identify the correct algorithm for a problem, and to see the nasty special cases that arent spelled out in the problem spec.

      and i was offered a job at the contest, actually... ibm was implicitly the only recruiter, but an old friend of our team came to cheer us (and his hometown team, gatech) on, and offered all of us jobs. he says what his company does is rapid prototyping and on-site tweaking to said prototypes, and that it is not unlike contest coding.

      efficiency is important in contest code, although maintainability is frequently neglected. and you say "some test inputs" as if to imply that the programs are not well tested... try it some time, the judge data is usually very good, if not literally exhaustive. (and occasionally doesnt meet the problem spec, GRRR)

      (i am on the ucf team fwiw)

      --

      Java: the COBOL of the new millenium.
    2. Re:think... by Abigail-II · · Score: 2
      They must be getting job offers like crazy... And if they arent, they should.

      I doubt they will get job offers, and I doubt any company is foolish enough to offer them jobs based on such a contest. I've participated twice in the European finals (once missing a trip to the world finals because despite ending high enough to earn a ticket, all the teams in front of us were from the same country, and there was a 2 team/country limit), and I've organized regional finals. The exercises to be solved are merely puzzles. You have limited time, and limited resources. There's a decent amount of luck involved. If you instantly recognize a problem and map that to a fairly standard problem, to gain valuable time. Or to interpret the wording of the exercise the same way as the organizers intended, and not have to wait for your clearification request to be processed. (Or worse, having to redo part of the program because another team submitted a clearification request, and it turns out your interpretation wasn't correct.) Even losing 20 minutes can be the difference between solving 4 and 7 problems! The contest doesn't judge the quality of the program, or its efficiency, maintainability, or anything that's actually important for a program. All it needs to do is compile, and produce the correct output on some test inputs. Of course it helps if you are a good programmer, but other important skills are typing speed, and the skill to avoid typos.

      -- Abigail

    3. Re:think... by Abigail-II · · Score: 2

      and offered all of us jobs. he says what his company does is rapid prototyping and on-site tweaking to said prototypes, and that it is not unlike contest coding.

      I don't know about you, but I rather not work for a company where I'd have deadlines measured in hours while I have to share my workstation with two other people. I'd run away from any company that says "oh, our working environment looks just like a programming contest".

      and you say "some test inputs" as if to imply that the programs are not well tested... try it some time, the judge data is usually very good,

      I've been there. On both sides of the fence; as a participant, and as a organizer/judge. It's not that the programs aren't very well tested, but the test input will confirm to very specific specifications. It doesn't have to survive the typing monkey test.

      -- Abigail

  65. Re:Waterloo Team Selection by NocturnalWarrior · · Score: 1

    Yeah, and my team (U of Guelph) beat the Waterloo B team at the East North American Regionals in November.
    Maybe next year we'll do some preparation and go after the A team :-)

    --
    "Never wrestle with a pig. You both get dirty and the pig likes it."
  66. Re:Waterloo Team Selection by Knight+of+the+Sad+Co · · Score: 1
    The Guelph team did not beat either of the Waterloo teams, as it solved only two problems. Read the standings for the East-Central North America Region programming contest.

    Michael Van Biesbrouck, ECNA Regional Contest Director (1999)

  67. Re:Contest problems and other thoughts by Knight+of+the+Sad+Co · · Score: 1
    I don't believe that any Dutch teams made it to the 1999 finals in Eindhoven. It was a nice contest, however.

    Michael Van Biesbrouck, 1999 ECNA Regional Contest Director

  68. Re:Use of Pascal by Knight+of+the+Sad+Co · · Score: 1
    The contest has been sponsored most generously by IBM for the past three years. Microsoft software was never required at the regionals (my region has used Unix for all of its contests in recent memory). When I went to Microsoft-sponsored finals (1996) the version of Pascal was from Borland. The following year the Pascal at the finals was a Microsoft beta product.

    Michael Van Biesbrouck, ECNA Regional Contest Director 1999

  69. Re:Problem! by Knight+of+the+Sad+Co · · Score: 1
    If you write `AA->B' as `B->AA' then this problem becomes a fairly straight-forward parsing problem. You can use any general-purpose CFG algorithm for this without taking advantage of the nicer aspects of the problem specification.

    I don't see why you have a circular order ordering on the letters.

    Michael Van Biesbrouck

  70. Re:Pascal by Knight+of+the+Sad+Co · · Score: 1
    At the last finals, the Regional Contest Directors for the contest were asked to vote on removing Pascal from the contest finals. The motion was not passed because many of the European teams are from countries in which it is not practical to run regional contest on modern machines. A posting for this article indicates that in the previous two years, St. Petersburg used Pascal and did well at the finals.

    In my own region (East-Central North America, home of Waterloo, CMU and Toronto teams), teams using Pascal tend to do very poorly even though the problems are set with the limitations of Pascal in mind. Unfamiliarity with the region's supported versions of Pascal probably contributes to this problem, but I think that the main issue is that the teams choosing to use Pascal are less experience programmers than the other contestants.

    I am not familiar with the advantages that Delphi provides, but I feel that teams who are extremely familiar with C++'s STL and Java's bignum libraries will have improved chances at winning.

    Michael Van Biesbrouck, ECNA Regional Contest Director, 1999

  71. Don't forget the Putnam by MrClean · · Score: 1

    Waterloo won the Putnam too.

    http://www.bulletin.uwaterloo.ca/2000/mar/20mo.h tml

    Notice Donny Cheung in 1998,on the UW ACM team this year and another UW student won the special award for the highest-scoring female student in the contest.

    http://www.stats.uwaterloo.ca/~cgsmall/uwput.htm l

    Go waterloo go.

    1. Re:Don't forget the Putnam by RandomBlue · · Score: 1

      I showed some prospective Waterloo mathies around the 3rd floor on Campus Day

      They were so disappointed when I told them that they would probably *not* be using the cute iMacs for their courses, and did not quite believe me that they'd switch over to Unix (!) in their second CS course and never look back...

      "Unix?? Ack!" -- frightened look --
      awww.. so cute.. so innocent.. just ripe for assimilation into the Mathie collective.. ;)
      (yeah, off topic, i know, i know)

      --
      "The reason that every major university maintains a department of mathematics is that it is cheaper to do this than
    2. Re:Don't forget the Putnam by Wolfier · · Score: 1

      Talking about the 3rd floor labs - it is irratating to see the Win98 and the iMac boxes eating spaces previously allocated to Unix terminals...and CS students aren't given accounts...and most of the time the boxes just sit there idle, wasting electricity...

    3. Re:Don't forget the Putnam by Kinthelt · · Score: 1
      (Yeah, I know it's off-topic, sue me.)

      Isn't the Computer Graphics Lab was in DC?

      --

      "Evil will always triumph over good, because good is dumb." - Dark Helmet (Spaceballs)

    4. Re:Don't forget the Putnam by John+Poole · · Score: 1

      The only reason we'd be on the sixth floor is for Statistics (shudder) or Graphics (the lab is on the sixth floor. Most mathies hang out on the third floor, since that's where the bulk of the labs are, as well as the clubs.

      As for PoETS (or however it's spelled), I've been in there a couple of times. It might've been the times I've been in there, but it's not all that thrilling. I'm sure the hoardes of drunken engineers didn't do much for the ambiance, either.

    5. Re:Don't forget the Putnam by John+Poole · · Score: 1

      (Hoo boy. Way off-topic.)

      Part of the overcrowding has to do with the renovations on the second floor -- all of the lab space down there disappeared, so the Macs and PCs came upstairs to the third floor. I've heard rumours from people "in the know" that the space will be reclaimed next academic year (F00), and some space on the second floor will be for undergrad.math terminals. It sucks, but it shouldn't suck next year.

    6. Re:Don't forget the Putnam by paulschreiber · · Score: 1
      Yeah, CGL is in DC.

      Paul

  72. Re:Controversy over Problem F by isaksson · · Score: 1

    That explains it all.
    I was a member of the swedish team (from Linköping University) and we also got stuck Problem F, which was the first problem we attempted to solve. I guess we spent half of the contest looking for a non-existing bug.
    The results would have been completely different if the test data had been correct.

    Anyway, we really enjoyed our free visit to Florida!

  73. Re:Pascal baby! by CrosseyedPainless · · Score: 1

    The beauty of a sexy built-in "string" type

    Uh, wasn't Pascal the language where two strings of different lengths were considered to be of different types?

    If that's sexy to you.... shudder

  74. Re:Prizes irrelevant... by Morrigu · · Score: 1

    Like the friend of mine from high school who not only got a free ride from VA Tech (go Hokies!) but also a matching free ride from No Such Agency and guaranteed employment after graduation.

    Haven't heard from him in a while, but that's prob'ly more my fault than his. Brad Banks, if you're out there (at Fort Meade or elsewhere), hope you're enjoying yourself! :)


    ------------------

    --
    "We can categorically state that we have not released man-eating badgers into the area." - Major Mike Shearer, UK
  75. Re:Interesting Demographics..... by CoderDevo · · Score: 1

    I fell behind in my studies and dropped out of the Univ of Minnesota in '92 after ~2 years of CSci. I worked up from the bottom of IT - junior operations. 2 jobs and 5 years later, I got a programming job, and that was because my friend's father ran the shop. I got lucky. I now work for a Fortune 500 software company making good money.

    The market has changed since I dropped out. You may be able to get an entry level job in software development with only 2 years school. It will be hard, and it may not be your first job..or your second.

    I've worked for 2 software companies: a start-up with 30 people and an established enterprise class software corp with more than 7000 people. Neither company would even consider someone without a degree or experience.

    Finishing the degree is what you will wish you had done when you turn 30. I sure do.

  76. Re:Pascal baby! by RandomBlue · · Score: 1

    Ah, but starting next year (or is it this year?), even Modula 3 will be replaced with such atrocities as Java and C++ in first and second-year Waterloo CS courses! We cannot allow this carnage to continue!

    now, how am I going to resell my Modula-3 text?!! (the eminent Harbison)

    .. forty-odd bucks worth of fireplace fuel? even looking at it gives me hives... i know it's not as sexy as pascal, but.. hey, wanna buy it as erotica literature? ;) come on, first 30 bucks takes it!

    --
    "The reason that every major university maintains a department of mathematics is that it is cheaper to do this than
  77. Re:Contest problems and other thoughts by Trojan · · Score: 1

    Here in the Netherlands the students organize themselves in teams, and then participate in local contests. The team that scores best goes to the regional. I don't recall any ACM final without dutch participation, so this seems to work pretty well (I must say I haven't really checked the last few years).

    I've participated in the '92 and '95 ACM Finals, scoring 9th and 3rd place. Not so bad I think :)

  78. Re:Controversy over Problem F by Trojan · · Score: 1

    It sucks, it sucks, it sucks.

    But it happens all the time in these contests. I think it should be considered part of the game. (And the Waterloo guys were so bright to realize what was happening here...)

    In one regional I participated in, the judges found out afterwards that the home team had been denied a correct solution. In the end they were awarded a wild card and were admitted to the finals. I think this was unfair, because other teams would never have gotten access to the right information.

    If I'm not mistaken, all jury data is destroyed at ACM Finals immediately after the Final Standings have been made up. There's something to say for this. But I know how you feel (I probably missed the '94 finals because of similar mistake).

  79. Re:Scoring system by Trojan · · Score: 1

    Correct.

    One (obvious) consequence is that it is important to solve the easiest problems first. For example, if you end up with 6 solved problems, the number of minutes between the start of the contest and the moment your first correct solution was submitted, is effectively multiplied by 6.

    Now look at the final standings of the '95 contest. The top two teams are divided by 3 minutes, each having solved 6 problems. That's equivalent to say taking 30 seconds to open the envelope with problems at the start of the contest.

  80. Problem! by Trojan · · Score: 1

    We give the characters A,B,C,D,E a 'circular' ordering. I.e., B follows A, C follows B, ..., A follows E.

    As input we get a string of at most 20 characters picked from A,B,C,D,E. Allowed substring substitutions are of the form AA->B, AA->E, BB->C, BB->A, etc.

    Required output: a list of the single letters that the input string can be reduced to.

    For example, BBBB can be reduced to B,D and E:
    BBBB->ABB->AA->E
    BBBB->ABB->AA->B
    BBBB->CBB->CC->D

    Exponential algorithms are easy.
    Anyone know a polynomial algorithm?

    1. Re:Problem! by Trojan · · Score: 1

      I forgot to explicitly refer back to the circularity. What I mean is that YY can be substituted by either X or Z, where X immediately preceeds Y, and Z immediately follows Y. But that's probably already clear.

      I'm just a mathematician so I don't know a lot about context-free grammars. For a given CFG, does there exist a cubical algorithm (in the size of the input) that accepts the CFG?

  81. Re:Contest problems and other thoughts by Trojan · · Score: 1

    Rijksuniversiteit Groningen participated in 1999, so that year is covered. However, it seems that 1998 went without Dutch teams.

  82. Re:UWaterloo team member by Jason+R · · Score: 1

    Yeah, I went to HS with him. Brilliant guy, congrats Ondrej! (ask him about when he built circuitry to play pong on an old analog oscilloscope. It was a scary rats nest of wires, but worked )

  83. Re:UWaterloo team member by Jason+R · · Score: 1

    Yeah, I was at aldershot, but I knew a lot of people from Nelson (some of which are here at Queen's). You might have even had my mom as your teacher at Tuck

  84. Programming is cool, but... by [Crimson]Chain · · Score: 1

    But ever notice how no one ever gets any respect when hooking up a huge network of computers? Sure, programming is a very skilled way of thinking, but with networking you have to plan out the next few years worth of growth into your first setup. No time for "betas" here... Why couldn't they have a big prize giveaway for people that mapped out a huge and efficient network?

    Just my $0.02

    1. Re:Programming is cool, but... by Smilodon · · Score: 1

      Having done both (admittedly more programming), I disagree. Doing network design always got more respect, because management saw the dollar value of the hardware and line costs. So why did I go back to programming. More fun, less beepers.

      But seriously, software is the heart of both computers and networks of computers. And there are so many ways of solving a problem with code. It's inevitable that there would be contests.

      I can think of a good network test. There are certain routers I have used that could provide material for a contest. Just try to get them to work!

    2. Re:Programming is cool, but... by god_of_the_machine · · Score: 1

      I agree -- network admins don't get enough respect. But how would you ever test for it properly? I mean, mapping efficient networks is not something that can easily be quantified like programming.

      I suppose the real prize good network admins get is the nice little paycheques in the mail, and the stock options (if you're lucky). It will have to suffice! =)

      --

      -rt-
      ** Evil Canadians are taking over the world. Learn about the conspiracy
  85. Re:Rankings. by Dr.+Blue · · Score: 1

    Wow. Look at the takeover by non-US teams. This contest has been going on for a very long time, and I was involved for a couple of years a while back. Came in 5th one year, and 8th the other, if I remember correctly. And almost all of the top teams were US universities at the time (I think Eindhoven was there and was the only foreign team that did consistently well).

    So what has changed? Several things that I can think of: it was always an international competition, but I don't remember this many non-US teams in the past. In particular, when I was competing, the Berlin wall was still up, so we didn't have any eastern European or Russian teams! But even the non-US teams that were there were typically not very strong -- in particular, at that time many schools outside the US simply didn't have the facilities for people to be as experienced as people from US schools. I would imagine that has changed substantially, and non-US teams are now getting plenty of experience before coming to the competition.

    Lastly, is it really that the non-US teams are getting that much better, or have the US teams lost something along the way? Cal Tech has always been good (beat my team both years I went, anyway), and they only got 4 problems, while the winner got 7? That's just not at the same standard they used to work at. Is the education failing these days, or are we not getting as many strong students in Computer Science as we used to?

  86. Prizes by achan · · Score: 1

    I notice that there are no teams from British Columbia... which is sad... I'd never heard about this contest until now, while i'm in my last year of school...

    Does anyone know what the prizes were? I won a "software package and trophy" from IBM a few years ago and they sent me an outdated program that was no long supported and was barely functional without IBM hardware :)

    1. Re:Prizes by Elitist+Bastard · · Score: 1
      You should be proud, then. Next year's international contest will be held in Vancouver.

      The prizes were tons of scholarships, etc., plus some Thinkpads, I believe. Everyone in the top 10 got some sort of scholarships, I believe. Also, the winners of the "Visual Age for Java Challenge" (a contest for fun IBM puts on the day before the real contest) got Lego Mindstorms.

      logan

  87. How in the world did this get a score of 2? by Matthew45464 · · Score: 1

    Why are we mocking Microsoft in a post about a college programing contest. This is a joke , and it isn't even funny. I am not a judge of humour but, this comment is totally off topic.

    --
    I can make these machines do anything I want. Make this world anything I want it to be. Just so long as concentrate hard
  88. I looked at the problems... by Kelt · · Score: 1

    And this is the reason I am not a programmer. Enjoy yerselves, boys and girls.

    -Steve

    --
    My intelligence insults itself.
    1. Re:I looked at the problems... by john@iastate.edu · · Score: 1
      I looked at the first one and couldn't believe they said it took Knuth 30 minutes to solve the 2nd maze -- took me just a couple -- the secret, as I suspected, was to work backwards from the exit...

      If I came exited this node in this direction then I had to have come from this direction (usually there was only *1* possible one!)

      --
      Shut up, be happy. The conveniences you demanded are now mandatory. -- Jello Biafra
    2. Re:I looked at the problems... by Logan · · Score: 2
      Too bad they couldn't all be that simple. The problem is that you could be allowed to travel in any direction when you enter a node, so there could be multiple paths through the maze. The wording of the problem implied that only the shortest path would be accepted. Your algorithm (a depth first search, starting from the destination rather than the entrance) isn't guaranteed to do that. I think they were referring to it taking Knuth 30 minutes to actually walk through the maze. It's certainly a lot different when you can't actually see the entire maze at once. :P

      logan

  89. Interesting Demographics..... by The+Famous+Druid · · Score: 1

    Looking at the North American team photos, I was struck by the narrow demographics represented... 1. Almost exclusively male. 2. Almost exclusively white or asian. Aren't there any black or hispanic geeks out there ? Or girlie geeks ? Why is geekdom so ethnically and sexually narrow ?

    --
    Quidquid Latine dictum sit, altum videtur (anything said in Latin sounds important)
    1. Re:Interesting Demographics..... by tbarjoe · · Score: 1

      I'm not sure if this is true all over, but the places that I have seen it certainly is. I attend UVIC in BC working on my computer science/software engineering degree, and wow, I figured that there was about 5-10% girls in our classes, (by rough head count). Most of my classes are over 100 people and around 40% would be asian I think. Certainly some motivation to enter into education or an -ology where all the girls are at, (and the good lookin ones too, definately not enough of those in computer science.)

      I do have a question for you guys though, will be finished my second year soon, but am lacking behind in my work terms, so I need more experience. I have around 3 years of school left just to get my bachelors. Do any of you think that it is worth it, or should I just go get a tech. diploma or something and then go down to the states and start getting some real world experience. (Plus start making some real cash)

      Thanks guys

    2. Re:Interesting Demographics..... by SoftwareJanitor · · Score: 2

      Your milage may vary. My educational background is not dissimilar to yours. I also attended a midwestern University, in my case for about 2.5 to 3 years before I ran out of money. One difference is that I worked for a department at the university as a C/C++ programmer/UNIX sysadmin during the time I was in school and for about 6 months after I dropped out. The pay was really bad, but I got a lot of valuable experience that I was able to use to get my 2nd job. My second job was a middle entry level job doing Informix 4GL programming, database and UNIX administration. It paid about double what my university job did and had actual benefits (which the university didn't pay for hourly people). After a couple of years doing that I was able to move up to a decent job doing C/C++ development at a small (30 person) company for a salary in the middle range for experienced developers at the time. And after 3-4 years I was able to move up to a different position at a larger company (100k+ employees) making towards the middle to upper end of the range for C/C++ developers. During my time there I've gotten several promotions and decent raises. I am just getting ready to start a new position after 3-4 years at the previously mentioned company. I've got more experience now doing web development in Java, Perl, etc. My new position will put me well into the upper range for developers in the area.

      You are right to a certain extent that someone without a degree or experience will have to 'pay their dues', but I am not at all sorry for having taken the path I chose. I wouldn't recommend it without hessitation to everyone though. It does require that you be stubborn, dedicated and willing to work hard to prove yourself.

  90. My entry by Denor · · Score: 1

    Yeah, I entered this contest. I didn't do to well, though. You know how, at the time, you think you're coding well but you think back to it later and you realize you completely screwed up?
    That's what happened here:

    #include <stdio.h>

    void main(int argc,char **argv) {
    printf("Hello, world!\n");
    }


    Despite the fact that this program didn't answer any of the questions given, let alone do anything useful, I didn't come in dead last. I beat... what was it? I don't quite remember. Microsoft something-something 2000....

    --
    -Denor
  91. Is it a mathematical skill? by hobb · · Score: 1

    Donny Cheung, one of the UWaterloo ACM members, was also a third of the UWaterloo Putnam mathematics competition winning team (which was held last December, the results of which were recently announced as well.) I guess it's just the difference between being able to solve problems, and just being a code monkey. Now I'm not saying it's something that can only be teached at a University (or something that can be taught at all) but I certainly hope people recognize that the difference between a mathematical CS education and a 6-month "I can program in 6 different languages!" technical degree is significant.

    1. Re:Is it a mathematical skill? by hobb · · Score: 1

      ...but apparently they can't teached grammar and HTML formatting. furrfu.

    2. Re:Is it a mathematical skill? by Kinthelt · · Score: 1
      Sadly, I feel that there are people who would like to see less mathematical content (e.g. removing multivariable calculus from the requirements)

      It's already happened. MATH 237 is no longer a requirement for CS. I'm not sure when it happened, but it must have been sometime before my first year. But it's still a great idea to take, it really opens your eyes to what calculus *really* is about (in a more general case than a single piddly variable :)

      --

      "Evil will always triumph over good, because good is dumb." - Dark Helmet (Spaceballs)

    3. Re:Is it a mathematical skill? by paulschreiber · · Score: 1
      Yeah, they removed MATH 237 from the required list; you have to take another math course in its place though.

      So all the slackers go and take ACTSCI 221.

      This was when they changed C&O 230 to MATH 239. I really wish someone would write course notes that didn't suck for that course.

      Paul

    4. Re:Is it a mathematical skill? by donny · · Score: 1

      Wow, I didn't realize that people cared enough about what I did to correlate things like that. I guess I should be flattered... :)

      There is certainly a huge component to doing well in these programming contests which is based in a good background in problem solving (in particular mathematical problem solving), and there is a very good correlation between people who do well in math competitions and computer contests.

      I'm sorry to inform you, though, that I am not a CS major, and that I am a C&O major, but I've taken a number of CS courses. The other Waterloo team members are in CS, though, and despite recent funding cutbacks and other assorted administrative knuckleballs, I still think that Waterloo has a very strong CS program. Sadly, I feel that there are people who would like to see less mathematical content (e.g. removing multivariable calculus from the requirements) and more "vocational training" in the CS program. I always felt that the co-op program gave our CS students enough vocational training for a well-balanced program whose graduates are thinkers and problem solvers, rather than simple code monkeys, but I feel that the demand for code monkeys and the agenda of the provincial government (who is holding the purse-strings hostage) is hurting our CS program to the point where we may not be able to brag about our "mathematically-based CS program" for much longer. It is important that people see the value in doing things from a theoretical viewpoint as well as gaining practical experience.

      Donny

    5. Re:Is it a mathematical skill? by donny · · Score: 1

      It happened in 1998 (or so). I think there are people thinking of removing STAT 231 from the list as well... Donny

  92. Real programmers write their own languages by fishlet · · Score: 1


    That's why Larry Wall is THE MAN!

  93. UWaterloo team member by Kinthelt · · Score: 1

    Wow, I've seen Donny Cheung in the hallways of the Math building, and never even recognized him... :)

    --

    "Evil will always triumph over good, because good is dumb." - Dark Helmet (Spaceballs)

    1. Re:UWaterloo team member by John+Poole · · Score: 1

      (Off-topic and probably not of interest to non-UW people)

      I've seen a lot of people in MC, and been surprised later when I've found out who they were. Most of them I'd met online before, primarily in the uw.cs.cs* newsgroups (the course discussion newsgroups). I've a feeling the same things happened to others at Waterloo, as well as people at other schools.

    2. Re:UWaterloo team member by paulschreiber · · Score: 1

      Well, I've known Ondrej since grade 7 :-) when he was winning national math contests.

      yeah, UW! :)

      How many other UW mathies are reading this thread? I also know Justin, who submitted the story. I'm surprised undergrad hasn't been /.-ed.

      Paul

    3. Re:UWaterloo team member by paulschreiber · · Score: 1
      I remember all sorts of crazy stuff he did with HyperCard back at Tuck. He wrote some music composition deal, a couple of games, funky stuff.

      I went to Nelson ... I take it you were at Aldershot?

      Paul

    4. Re:UWaterloo team member by JEmLAC · · Score: 1

      Kinner here. Reccie doctors was what my 1A roomate called 'em. Programmer wannabe would be closer to it right now. VB/Oracle currently (boo, I know), C/C++ ... workin' on it. GO UW!

    5. Re:UWaterloo team member by donny · · Score: 2

      Well the next time you see me you should introduce yourself.

      Please stop stalking me... :)

      Donny

  94. Re:Pascal by Kinthelt · · Score: 1
    Okay, I guess you don't know how the scoring works. It's all based on how many questions the team successfully completes (any language, doesn't matter). NOT the quality of the code.

    However, if a submitted program does not satisfy the automatic testing (and specs), penalty minutes , equal to the number of minutes since the contest began, are added to the team's penalty total. The penalty minutes are used if teams have the same number of correct submissions.

    So first off, whoever has the most correct programs is the winner. If there is a tie, then whoever has the least penalty minutes wins.

    --

    "Evil will always triumph over good, because good is dumb." - Dark Helmet (Spaceballs)

  95. Compsci under faculty of math by sylvester · · Score: 1

    Though I can't confirm that, it certainly makes sense. Although for the kind of programming I really enjoy, the math isn't /that/ beneficial, for the problems the ACM suggests, it's huge. Being able to think in three dimensions, think in terms of efficiency, proving code, etc., that this university (UW) really hammers on can only help for a contest like the ACM.

    -Sylvester

  96. Waterloo Team Selection by John+Poole · · Score: 1

    I'm not sure how the other schools form teams, but at Waterloo we do it by holding local contests (usually in October), and having the top six people form two teams (the A and B teams). These two teams compete at the regionals and the best goes on to the finals.

    As for coaching, there's a professor here (Cormack) who handles most, if not all of, the coaching. I've no idea how much time is spent preparing for such things, but I've been under the impression that there is some preparation. Next time I run into some of the ACM people at school (I seem to know the bulk of the current and past contestants from Waterloo -- probably by hanging out in the Pure Math Club with 'em), I'll have to ask them how much training they do.

    Preparation -- speaking as someone who used to be active in various scholastic contests in high school, preparation can play a large role in performance. By doing old contests you get a feel for how the questions are set up and asked, and so when the Big Day comes, you've already got a feel for the whole thing. Still, preparation can only help so much -- you still need a fair bit of talent to do well.

    Anyway, just my thoughts on the issue.

    1. Re:Waterloo Team Selection by DMuse · · Score: 1

      But remember the B team has beat the A team at the regionals! 1997 I think?

  97. One Russian City twice in top 4!!! by yuriwho · · Score: 1

    Hope I'm not wrong in thinking that both schools with St. Petersburg are in the same city, but assuming I'm not this is quite a coup. I wonder if the city will honor them with a parade or at least a special mention from the mayor.

    Being YA Waterloo alum myself, I'm really proud of those guys too but having two schools in the same city place 1st and 4th is downright amazing.

    Also, congrats to all the teams to placed!

    --
    no sig.
  98. Re:Pascal by Some+Strange+Guy · · Score: 1
    Delphi is allowed. Which is really just Object Pascal with a nice gui maker. Anyway all of the teams I know who placed well at Regionals used pascal. It is simply safer, and a whole lot faster to develop with. I like C/C++ as much as the next guy, but use the right tool for the job.

    Not to start yet another religious war here, but C and Pascal are, IMHO, more or less equivalent, especially for the kinds of problems they tend to use at ACM programming contests. The languages have pretty close to a 1:1 correlation on features.

    When I competed a few years ago, of the people I talked to there was a pretty strong bias towards C or C++. But there were also some good guys using Pascal, too. It's just a matter of which you were more comfortable with.

  99. Pascal baby! by Succa · · Score: 1

    I remember my first CS course...CS 134. Ahh yes, the beauty that is Pascal. The beauty of a sexy built-in "string" type. The pragmatism of the "var" and "type" sections. Ahhh. Excuse me as I wipe the tears creeping down my flushed cheek...sigh... I'm so pissed that C eclipsed Pascal in terms of popularity. What a fabulously sexy language. And more importantly, the beauty that was the Borland Turbo Pascal compiler for DOS. Ohhh. The greatest compiler ever (Borland Turbo C for DOS was equally sexy). Unfortunately, the U Waterloo CS department forced us to use a Pascal-like language, Modula-3, for several of our subsequent CS courses. A sexy language in itself, but nowhere near as simple and elegant as Pascal... Mr. Wirth, you've done us proud. Well, me anyway.

    1. Re:Pascal baby! by paulschreiber · · Score: 1
      Python has lots of cool built-in types: strings, lists, tuples, dictionaries (hashes), complex numbers ...

      Speaking of M3: I was in the Chapters on Bay/Bloor in Toronto a couple years ago and remembered they had two or three Modula-3 books. Truly weird. :)

      Paul

  100. Score Details by DMuse · · Score: 1

    I'm trying to figure out the timing of answers, I'm used to the contest publishing results showing the time/penalty when a problem was accepted. It can be interesting to note which problems were easy, how many minutes it took to get the first problem solved etc. Does anyone have a link to the full competition results?

    Also, is the 20 minute penalty per wrong submission new? I don't remember seeing this before?
    Ryan
    rjshook@uwaterloo.ca :)
    PS POETS is spelled like that, Piss on everything tomorrow's Saturday

    1. Re:Score Details by Abigail-II · · Score: 2
      Also, is the 20 minute penalty per wrong submission new? I don't remember seeing this before?

      Not new at all. That rule existed when I participated in the '80s, and when I organized a contest in 1992, we had that rule as well.

      -- Abigail

  101. Re:Pascal? by _fuzz_ · · Score: 1

    The man? Yes. The language? No.

    I participated in the regional competition last fall. We used Pascal and finished 2nd in the undergrad division.

    --
    47% of all statistics are made up on the spot.
  102. Miss those days by Mr+Krinkle · · Score: 1

    I loved those things in college. Of course my time usually didn't fair as well as we should have according to our prof. but hey we also tended to be a little hungover for the contests:) Programing to solve a completely pointless problem that uses some little tricky algorythm sure as hell beats sitting in front of some other guys C code, commented in Swedish, that runs a query on an oracle database and trying to figure out why the report doesn't work anymore. oh well just my worthless .02$

    --
    I am 31337 or something.
  103. Re:Cool. Another "place." by paulschreiber · · Score: 1
    My landlord here in San Francisco recognized UW solely because he used to deal with WATFOR.

    Sheesh. Like what have you done for me lately, baby?

    Paul

  104. Scoring system by paulschreiber · · Score: 1

    can someone explain how the scoring system (penalty minutes) are calculated/ thanks. Paul

    1. Re:Scoring system by Dominic_Mazzoni · · Score: 1

      Most important is number of problems solved correctly out of 8.

      During the 5-hour contest, whenever you submit a correct solution, the number of minutes that have elapsed since the beginning of the contest get added to your penalty. Each wrong submission adds 20 more points. For each number of problems solved, the lowest penalty ranks the highest.

  105. Re:Cool. Another "place." by froody · · Score: 1

    I was kind of disappointed not to see CMU ranking high there, since I do have some school pride. Then I went to read the questions, and I was really disappointed. I think anybody who did decent in 15-212 (sophomore-level CS class) should have no trouble solving these problems. They are all pretty straight-forward, and I consider them pretty boring. When I mentioned this to a friend he said that in higher levels of such competitions it usually comes down to who can write the same code faster. I guess that interests some people, but I'm not surprised now that none of the "good" schools ranked high, since it's just not interesting. (For interesting problems, see http://members.tripod.com/~POTM/) Tim

  106. Re:Cool. Another "place." by LavaDog · · Score: 1

    I can tell you that practicing certainly helps. I competed in 98 and the team only solved one problem, then we started practicing every single day until the contest for 99 and tied for 18th (6th out of the US teams), so I can say that practice helps.

  107. St. Petersburg and contests by m.o · · Score: 1

    I was not at all surprised to see St.Pb. State win, and yet another team from the same city come fourth. The reason is that those people get professional coaching literally from the age of 10 or 11.

    Math contests are extremely popular in this city, and in the 4th-5th-6th grade students who get the best results in those are attracted to attend the so-called "math circles" where, once or twice every week they solve non-standard math problems for a couple of hours, listen to the lectures on various scientific topics as well as problem-solving techniques. After that they go to specialized high-schools (#239, #30, a couple of others) where they get the absolutely best possible education in math, physics, programming, etc. Actually, teaching of other subjects is also pretty good. I've known quite a few people who got educated in that system, and they are very good.

    As for this year's team - I know one guy, Kolya Durov (he's the short gloomy guy on the right on the picture). He's absolutely amazing, one of the finest products of the system. I graded some of his work at the Russian Math Olympiad and coached him for the International Math Olympiad'96 - not that he needed any coaching, he was already absolutely unbelieavable. He was only 13 (maybe 14, I'm not 100% sure) then, and won a gold medal at the IMO; he went there for the next two years and won gold as well. He also went to the Int'l Computing (or whatever it's called) Olympiad several times and got great results there as well (unfortunately, I don't remember what).

    Moscow, where I am from, and some other places in the former Soviet Union have similar systems (e.g. my high school, #57 - anyone here?), but, realistically, nothing close. US can't even dream of something like that, though I begin to see some similar math circles here in the Bay Area - let's hope they will eventually give results.

  108. Use of Pascal by Spacecase · · Score: 1

    When my university went to the regional programming tourney, MS was sponsering it. This meant you had to run on a MS OS and use MS tools. The team tried to use the MS Pascal compiler but it was full of bugs and very very old (does MS still sell a Pascal compiler?)The judges would not allow any othe compilers and the team had to switch to C and they were dead. (The first 2 years of CS at my school used to be Pascal, so it was a natural choice for a mixed team or sophmores/Juniors/Seniors) I do not know if MS is still sponsering the events, or if they still mandate the use of thier software. Spacecase

    1. Re:Use of Pascal by SoftwareJanitor · · Score: 2

      Im curious if VB still suffers from the bad image BASIC has had in academia.

      Yes. It suffers pretty much the same bad image with a large share of the professional development community as well of course, even a pretty fair percentage of the Windows development community.

  109. Pascal by talonyx · · Score: 1
    While it said something about pascal, so I thought I'd share my opinons in Pascal.

    writeln ('This whole competition is stupid. You cannot rate a program or a language except relative to ther programs; and new programs are always written, so there is no zero ground. Therefore this is stupid.')

    (did i forget a semicolon or something? it won't compile.)

    --

    1. Re:Pascal by donny · · Score: 1

      Most teams would rather use command-line tools rather than an IDE like Delphi or Visual Whatever. After that, you can develop quickly with just about any reasonable language. Not screwing yourself with pointers comes with practice. Our team (Waterloo) uses C as a language, and vi as our editor. (We were allowed to use a DOS version of vim.) I know that a few teams like to use Pascal, but there are not too many of those. Some teams like Java too. The majority use C or C++.

      Donny

    2. Re:Pascal by SoftwareJanitor · · Score: 3

      Delphi/Object Pascal is somewhat safer than C/C++ only because it is somewhat more limited in what or how you can use pointers. But that is a pretty marginal thing. You can certainly shoot yourself in the foot with pointers in either language. Whether it is faster or not is largely a matter of opinion, and which tool a given person is personally more comfortable with, and also which C/C++ tools are selected. To say 'a whole lot faster' is really not a fair generalization.

      Probably my biggest complaint against Object Pascal/Delphi is that it is still mostly a uniplatform tool (albiet FreePascal and a couple of other free alternatives are in development, none are really finished and completely compatible with the Borland products yet). C/C++ multiplatform compatibility isn't perfect, far from it -- especially when moving code between Windows and and Linux/*nix/*BSD platforms. But at this point nontrivial C/C++ code that is written with the intention of being portable is much more likely to be so than any current Pascal dialect. There are also more 3rd party (free and commercial) products designed to work with C/C++ to aid in cross platform work than there are specifically tailored to any Pascal dialect. Much as some people deride it, few languages are as close to multiplatform as Java is at this point (not to say that Java is without problems either).

      None of this may be that salient to the contest in question, but they certainly are things that often matter in the real world.

  110. Rankings. by kwsNI · · Score: 1
    Rankings

    Rank Name Solved Penalty
    1 St. Petersburg State University 7 941
    2 University of Waterloo 7 1641
    3 Albert Einstein University Ulm 6 1003
    4 St. Petersburg Institute of Fine Mechanics and Optics 6 1051
    5 The University of Melbourne 6 1156
    6 Tsinghua University 6 1358
    7 Kyoto University 5 1096
    8 The Chinese University of Hong Kong 4 712
    9 Shanghai JiaoTong University 4 758
    10 University of Alberta 4 818
    11 Bangladesh University of Engineering and Technology 4
    11 California Institute of Technology 4
    11 Charles University Prague 4
    11 ZhongShan University 4
    15 Carnegie Mellon University 3
    15 Massachusetts Institute of Technology 3
    15 Moscow State University 3
    15 University of Central Florida 3
    15 University of Toronto 3
    15 University of Washington 3
    15 Virginia Tech 3
    22 Bucharest University 2
    22 Georgia Institute of Technology 2
    22 Harvard University 2
    22 Iowa State University 2
    22 Novosibirsk State University 2
    22 Southern Ural State University 2
    22 Stanford University 2
    22 Universidad de Buenos Aires 2
    22 Universidad Politécnica de Madrid 2
    22 University of Pretoria 2

    Sorry for the slight loss in formatting.

    kwsNI

  111. Re:Controversy over Problem F by PeterDoe · · Score: 1
    Several teams claim to have asked for clarification on this problem.

    In fact, one team sent several requests, and then flagged down one of the IBM systems people after the contest to complain in detail.

    Most teams seem to have noticed that problem F was fishy.

    Peter Doege

  112. Re:Controversy over Problem F by PeterDoe · · Score: 1
    I was at the contest as well, but not as a contestant.

    I agree that Problem F was poorly specified.

    The judge's attitude seems to be "deal with it". I would have prefered that they had released a distribution all that contained an updated problem spec.

    That being said, some teams, and at least one coach working on the sidelines, got the answer. Remember, it's your job to make the judges happy, not the other way around.

    Peter Doege

    PS. Were you on the team that I chased out of the contest hall? I was the big red headed guy controlling the contestant doors and doing some of the physical security work. If they had known how polite, friendly, and non-violent I am, they would have never given me that job. :)

  113. Contest problems and other thoughts by ericmao · · Score: 1
    Here's a link to the contest problems.

    I was on the Stanford team (we sucked badly), and I must say it is the most frustrating thing to have a solution which works for every testcase you can think of, but is still rejected by the judges. And very demoralizing to watch eventual winner St. Petersburg State University sitting at the table next to yours and racking up the balloons (one for each problem solved).

    One coach at the contest noted that, for U.S. teams, the teams are often formed by students having a local contest and just picking the students who do the best. The students then go off and find someone to be their "coach" for registration purposes only. Whereas for non-U.S. teams, there is usually a prof who is very active as coach, who coordinates team practices and such, and sometimes hand-picks the team members. Not sure how much of an effect this has on team performance.

  114. Waterloo, Waterloo, Waterloo by nkanwar · · Score: 1

    Another proud waterloo CS student. Waterloo CS is the best in the world(actually 2nd best:)) I've seen you ACM guys in the 3rd floor comfy lounge.Couldn't stay because it stank so much.

  115. Americans? Winning? by Katsuyo · · Score: 1

    bizarre. you know what i mean.

    --
    Katsuyo Mori
  116. Re:Prizes irrelevant... by Katsuyo · · Score: 1

    it should be clear that geeks are in it all for the nooky the same way mere mortals are. bizzotch.

    --
    Katsuyo Mori
  117. Re:Cool. Another "place." by iJeff · · Score: 1

    Actually, Waterloo is not "much less known". They actually have a fine Global reputation, which is why the king of Saudia Arabia sent one of his sons there. But they aren't really well known in the US which is not the same as not having a reputation. Most Americans in the CompSci world know Waterloo because Maple(tm) and many other initiatives came out of Waterloo. It would also surprise many to find out that in North America, one of the schools most targeted for recruiting (in Comp Sci at least) is Waterloo. Having said that though, I go to Western (rival to Waterloo) and must also add, that I think Waterloo's reputation is also highly bloated. ;) Cheers iJeff PS congrates Waterloo and St. Petersburg. (I've been to St. Petersburg and recommend the city for a visit)

  118. Re:Women and Programming Contests by donny · · Score: 1

    In my defense (so that my fellow geeks will not think that I turned down that once-in-a-lifetime opportunity to hang out with a "cool hacker chick" for a while...) The Mystery Fun House sounded very LAME, from the first time I read about it in the AAA guide. Donny (I should say something legalistic here so that the Mystery Fun House doesn't sue my pants off! Please don't sue my pants off, Mystery Fun House, it's the only pair I'm wearing right now!)

  119. Re:Controversy over Problem F by donny · · Score: 1

    I feel that the thing to do is not to be bitter. There were teams which, like your own, solved problem F very quickly realizing that it was an easier problem, only to have "Wrong Answer" shot back. However, a few teams eventually deduced what was going on and fixed the problem. You can disagree (as I do) with how the problem was judged, but in the end, being bitter solves nothing. I certainly think teams which deduced the problem with the testing data deserve to have problem F under their belt. (I am not being biased by the fact that Waterloo was one of these teams.) Some school suggested afterwards that the entire question be struck from the contest and not considered at all. This is no solution.

    There is nothing that can be altered with the competition results that is fair to everyone. Any team which has endured a regional contest where large mistakes are made realize that sometimes bad things happen to good people and that dealing with these issues is a part of the competition.

    The lack of admission of error and the secrecy of the datasets is standard practice. I think every team should be prepared for this possibility. Anyways, having looked at some old regional competitions, I see a few instances where even the sample data given in the problem is incorrect. I hate to say that this is part of the game, because in a fair world, it is not, but the world is even less fair than the competition.

    Donny

  120. Well... by SNN784 · · Score: 1

    For all of those eastern US coast like collage getting all these high awards and all this stuff. I used to know turbo pascal when I was a sophmore. But one question, why was Pascal banned back then?

    --
    ------------ I like trance music.
  121. Re:Controversy over Problem F by UCSanDiego · · Score: 1

    We (UC San Diego) were also at the contest and got stuck on Problem F (the first problem we attempted), and spent most of the contest trying to figure out why what looked like a correct solution (according to the spec in the problem) wasn't working. Overall the contest would have been a lot different without problem F.

  122. Pascal by ringm · · Score: 1

    Hi. I was the member of St.Petersburg team in the last 2 years (2nd and 9th place).
    St.Petersburg teams always use pascal, because it is times easier to find bugs in pascal programs under such a horrible time pressure.

    // Oleg Semenov

  123. Women and Programming Contests by Naja · · Score: 1

    There were at least 5 females present (not including coaches) although 2 of those were reserves. I was one of the female reserves. Personally, I think there are two main reasons that this competition has few female participants (I can't say anything about blacks): 1) Females in general are still taught logic weakly and late. Many males are, too -- don't get me wrong -- but for various reasons females seem to be more at risk for this and less likely to pick logic up on their own. (If you want to discuss nature vs. nurture with a biobehavioral anthropologist, I'd be happy to volunteer.) You can argue what skills exactly this contest tests, but no logic-impaired VB code monkey and no undergrate student who is barely passing Computer Organization (the class I TA) has the logic skills to solve even one of those eight problems in less than 5 hours. 2) The nature of this competition is ... well, competitive. I spoke to one of the other females there -- her team always works together on one problem at a time. She felt quite warm and fuzzy about this method, but realistically it didn't work so well for her team. I think this highlights some of the discomfort that normal females feel when considering joining the team. In order to make the team at our school (UCF), you compete at a local contest. I've dragged several females to the practice locals in the past two years, but none of them have come back for the real local. They gave various excuses which mostly boiled down to "it's too stressful". I find the competition fairly stressful myself -- especially because most of the good programmers I've met tend not to be people who are real easy to get along with -- but I've found that the absolute rapture of fast and furious (but not unstructured) coding makes up for the stress and the strong urges to choke your teammates. Besides -- I admit it -- I love to beat the pants off guys. I guess what I am trying to get at with point #2 should actually be two separate points, one of which ties in to point #1 ... First, females in western culture in general do not value high competition as much as males do, and this contest is high competition. (Again, I am willing to debate the roles of genetics and environment as factors for this, but I think you must admit that right now this trend is generally true.) And secondly, the males who do compete are enough to turn anybody off. *grin* No offense to you guys (especially my team) -- but hackers have a culture all their own, and it's not one most females feel comfortable joining. As my co-workers (males all, and team members or ex-team members) often say, 90% of all programmers suck. It just much more noticeable with females because you only have 10 total to start with. That being said, I would like to point out that there *ARE* females who program and program well, and there *WERE* females at the contest, and you guys were mostly to shy to even talk to me. Hell, I did my best to hit on Waterloo and Donny wouldn't even go to Mystery Fun House with us. *frown* So before you go complaining about the lack of cool hacker chicks you need to get enough courage to talk to the ones you already know.

  124. Moscow State University, maybehaps? by Christopher+B.+Brown · · Score: 2
    See their Mathematics Division information on the Faculty of Mechanics and Mathematics.

    The Faculty of Mathematics and Natural Sciences at Universiteit Leiden has a somewhat similar organization, but I'd consider MSU a much better candidate.

    Note that St. Petersburg State University has a similar organization of having a Mathematics and Mechanics Faculty. It probably used to be called Leningrad State University back before "glasnost."

    I could go with either MSU or St. Petersburg as being "the ones." St. Petersburg has been doing very well in the ACM contests, which suggests that they are likely rather good.

    Whether that's from student selection ("nature") or quality of teaching ("nurture"), or some combination of both, is another question...

    --
    If you're not part of the solution, you're part of the precipitate.
  125. Programming Contests == HackFests? by SnatMandu · · Score: 2
    I did some programming contests a few years ago. In one we got killed at the first level, but the first year we got to go the North Eastern US and get killed by Harvard, MIT, and RIT (which was at the local competition, but placed at the regionsals). It was fun, but we didn't take it very seriously. Alot of it seems to come down to figuring out some trick, or just hacking something out.

    A professor of mine (Dr. Hans Koomen) had developed a contest more focused on planning, design, and doing it right.

    In 1996 (the only year it was run - if at all it was) it was a Chinese Checkers competition. Build a chinese checkers player, and duke it out. There was a hack contest in the morning too... I wanted to see it happen while I was there, but it never came about. Too bad, seemed like it would be fun.

  126. Re:Controversy over Problem F by Abigail-II · · Score: 2
    I agree that Problem F was poorly specified.

    What surprises me is the number of people here complaining about problem F, describing in detail how the dealt with it, but noone said they submitted a clearification request.

    -- Abigail

  127. Re:Cool. Another "place." by gorilla · · Score: 2

    Don't forget WATFOR the Fortran compiler that an entire generation used at school.

  128. Where's the BEEF? by Dark+Coder · · Score: 2

    Great Final Standings! But, how the heck are we going to know what the code is?

    I mean, where is the beef?

    Like any beauty contest, we gotta see the gams and curves in the codes.

    Forget the judges (they are fine anyway), I wanna see the beef!

    Where is the beef?

  129. Re:Cool. Another "place." by Dominic_Mazzoni · · Score: 2

    I'm not going to speak for the other top U.S. schools, but I was on the CMU team, and I can give you two reasons why we didn't finish in the top three.

    * It's not the school that wins the contest, it's three individual students. One excellent programmer from an average school is worth much more than a good programmer from a top school.

    * CMU does not practice for the contest. Some teams spend 10 hours a week preparing for the contest starting at the beginning of the year. CMU comes every year, cold, and almost always finishes in the top 25%, sometimes higher.

    There were other reasons we didn't do as well as we wanted to - see my post on the controversy, below.

    Dominic

  130. Re:Prizes irrelevant... by PeterDoe · · Score: 2
    Even if you don't place you'll receive job offers. While I was there I was heavily recruited by four companies. Their attitude was "show an interest and I'll hire you on the spot". The starting salaries were about $60k.

    IBM rented Universal Studios for the after-contest celebration. They spent a lot of money trying to attract the best and brightest.

    Peter Doege

  131. Pascal? by filbo · · Score: 2

    Isn't he dead already?

  132. Cool. Another "place." by Christopher+B.+Brown · · Score: 3
    It's interesting how:
    • Waterloo has been placing in the top six quite regularly, of late.
    • No US institutions have been placing in the top 4, or, this year, in the top ten.

      Not MIT. Not CMU. None of the UC schools. Not Stanford.

    The one non-apathetic thing I did in my time at UW was to help get teams heading back to the ACM Scholastic Programming Contest. That was quite a lot of work, and not terribly worthwhile at the time. It sure feels worthwhile now...
    --
    If you're not part of the solution, you're part of the precipitate.
  133. Prizes irrelevant... by Christopher+B.+Brown · · Score: 3
    If you're on a team that "places," you get a better prize than the possibility that IBM might give you a "free" laptop. You'll get:
    Job Offers From Interesting Organizations.
    --
    If you're not part of the solution, you're part of the precipitate.
  134. Re:Controversy over Problem F by Logan · · Score: 3
    I was also present at the contest and did problem F. I heard this rumor as well, so I feel very lucky. I implemented the problem in a way that paths with "infinite" distances simply weren't counted when I obtained the average.

    I've often wondered how these sorts of things should be resolved, and I don't really have any answer. I'd certainly be very angry if that were the case and I'd had to spend hours on the problem. I got lucky. (I just hope I do better next year).

    logan

  135. Pascal by spiffy_guy · · Score: 3

    Delphi is allowed. Which is really just Object Pascal with a nice gui maker. Anyway all of the teams I know who placed well at Regionals used pascal. It is simply safer, and a whole lot faster to develop with. I like C/C++ as much as the next guy, but use the right tool for the job.

    --
    Anyone who cannot cope with mathematics is not fully human.
  136. Controversy over Problem F by Dominic_Mazzoni · · Score: 5

    I was on the CMU team. If you look at the statistics, you see that we solved 3 problems and were ranked 15th (in a tie). This is not what actually happened. We actually solved problem F correctly and did not get credit for it. At least a dozen other teams were also denied credit for a correct solution to this problem.

    The controversy is that the judges and ACM contest staff still claim that there was no error in the grading of the problem, and that their datasets were consistent with the problem statement. Here's why I don't believe them.

    Take a look at problem F. (Here are the contest problems in PDF if you're interested.) In a nutshell, you're given a complete directed graph, and you need to return the average length of all shortest paths between all pairs of nodes. The problem explicitly stated that you will only be given graphs in which there exists a path from every node to every other.

    This is not a hard problem to work out, but anyone who has had a formal course in computer science ought to recognize that the Floyd-Warshall all-pairs shortest path algorithm is designed to solve exactly this problem. Then all you have to do is add up all of the elements of the matrix and divide by n * (n-1).

    Except that the judges made a mistake, and tested our input using a graph that was not connected - in other words, there were nodes that could not reach other nodes via a directed path. This would not be a big deal, except that the problem explicitly stated that this would not occur. (Input validation is never a part of this contest.) Furthermore, without further explanation it is unclear how these nonexistent paths should affect the average. It turns out that the judges' solution was not counting these paths, and averaging only the paths that existed. Some teams did this by accident, and others (including Waterloo) figured it out only after submitting multiple runs and incurring large penalties. My team was one of the many that did not figure out the judges' mistake, so we did not get credit for the problem, even though our solution was certainly correct as the problem was worded. If we had received credit we would have had four problems correct, possibly putting us in the top ten. Of course, if we had received credit right away, we might not have wasted so much time figuring out what was wrong with our solution and we could have solved another problem in that time. Of course, many other teams were in a similar situation, so I have no idea what the final ranking would have been, but clearly it would have been different.

    Now for some disclaimers.

    First of all, I do not know firsthand that the judges had an incorrect data set, because their policy is not to release the data sets they use to test our programs. However, literally dozens of the 60 teams there encountered this error and many of them gained serious evidence that this was in fact the exact error. For example, one person showed me code he had written that would cause the program to seg fault if and only if the graph was not connected. He turned it in, and he got "runtime error" from the judges, indicating his program crashed. When he removed that line, he got "wrong answer". Even the team from Waterloo agreed that the data set was faulty.

    Also, I am not trying to imply that the teams that did win did not deserve it. All of the top teams did an excellent job and deserve to be congratulated. I'm mostly upset that the ACM contest staff will not either admit there was an error, or release the datasets to prove there wasn't one.

    Dominic