ACM Programming Contest Results
An anonymous submitter writes: "Shanghai Jiao Tong University has won the 2002 ACM International Collegiate Programming Contest with six of nine problems solved. Also solving six problems were MIT (2nd), University of Waterloo (3rd), Tsinghua University (4th), and Stanford University (5th). You can view the problems online, as well as the final standings. Congratulations to all!"
Thats the sound of those questions flying past way above my head...
If you havent Acrobat you can use this..
Programming Contest World Finals
For those who are unable to view PDFs.
Here is the problems PDF in text format
I'm impressed that I can picture everything logicaly in my head, but that's quite a bit of code, interesting as it may be. How big were the teams and how much time did they have?
I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.
IT IS NOT Slashdotted already. Prove the fucking bastard that tried to karma whore wrong by clicking here
Nice Lie Shit For Brains!
The ratios for 2002 Olympic medals were almost identical to this. Interesting Coincidence.
The thing about CIS and Comp.Eng at Waterloo, according to various people who are/were educated there is that the environment is totally nuts. I went to their 'campus day' a couple of years ago and I was NOT impressed. It was like nobody (in the faculty) was interested in talking to you unless it involved their current research project. Many people transfer away from the university because the courseworks demands are simply unattainable if you don't live in residence and have to take time away from the work to commute or have to worry about family life. Not to mention the course selection system (which used to be one of the best anywhere) is now totally haywire ... the software was written by their own students and the 'testing' was done by putting it into use and watching what happenned. This resulted in very much screwed up course selection and billing. As to exams, you don't know your exam schedule (or conflicts) until a couple of weeks before exams, while you know more than a semester beforehand at other universities.
Waterloo had some problems with D. Their first submission was about halfway in, but was judged incorrect. They had 2-3 hours to fix it but never did figure out what was wrong, which is probably just bad luck. If they time spent on D had been used to do another problem, they would have saved a lot of penalty minutes too (of course, it's easy to say that after the fact).
The 3rd place finish is still very impressive, all things considered. Waterloo has now solved the same number of problems as the winning team (for which they now award the "gold medal") for an unprecedented 7 years, I believe, even though participation in the contest has more than tripled in that time and the competition is stiffer than ever.
I've seen many school teachers IN NORTH AMERICA who don't have a clue about order of operations.
UW CS tution is about CAD$5400/year. MIT tuition is about US$26,000 (CAD $40,000) per year.
Paul
Unlike the US, the Canadian post-secondary education system is relatively affordable and still a decent education. (Unlike secondary School.)
Please dont make assumptions about things you know nothing about, especially considering I was commenting on something to which I grew up within 20 minutes drive from. The UofW is without a doubt in the top 5 computer education schools in the world.
.
That's lovely until you get a few pages into it and are told:
"CREATED WITH UNREGISTERED VERSION"
Wheeeee
Many of the ACM competitors from English speaking countries compete weekly at TopCoder.
College students and professionals alike compete against each other to solve 3-problem sets within 75 minutes (choice of C++ or Java or C#).
Under 18 are allowed to compete as well, but not eligible for prizes.
That Fortran 90 wasn't one of the supported languages for the championship. They are allowing C, C++, Java, and Pascal. If you're a problem solver, you know your Fortran. And these are math problems, evidently. So I'm baffled as to why it's not an option. Before I see the deluge of "Fortran is dying" comments, it is still heavily used for engineering problem solving, I know for a fact, so don't give me that crap.
Page 2 - "This page is intentionally blank". IBM harking back to the good ol' days?
Dave
I write a blog now, you should be afraid.
About knowing your exam schedule a semester in advance, that is ridiculous. I've been at UBC for the past 5 years and we are always told when our exams are about 2 months before, not a semester. And that is only the exam schedule draft. The final schedule comes out about a month before.
Just make one person memorize the code for a scheme interpreter beforehand. Have him type it in at the beginning of the test (while the other students think about the problems), and voila -- your whole team suddenly becomes a couple-hundred IQ points smarter.
You just have to get used to writing scheme code embedded inside of a gigantic string constant...
You can btw always convert PDF to HTML at adobe's website for free. (sorry, too lazy to provide a link)
I remember years past when I was on the team competing for my university. Locals, not International. One year we had several of our guys graduate (IIRC), and were short on filling in with CS students. Well, we ended up with a Chemical Engineer who could program, and I tell you it was a blessing. He brought a whole different viewpoint to the table on how to solve things, because of having different techniques needed for his discipline.
Iterative estimation of math problems to get the needed significant digits instead of actually trying to solve it, that sort of thing. Helped all of us open our eyes for "non-CS" ways to solve stuff.
=Blue(23)
LITTLE GIRL: But which cookie will you eat FIRST? C. MONSTER: Me think you have misconception of cookie-eating process.
As an American who did a postdoctoral stint at Waterloo, I'm proud of UW's rating in the ACM contests. But like football games, I realize that that it has little to do with the worth of the university. Do you seriously believe that, for example, poorly funded Latin American and Eastern European universities are truly better than, for, example, Cal Tech? And yet that is what would be implied by taking the rankings seriously. Some schools are just really into the contests and have organized coaching and practice sessions, and other schools just don't care much.
Additionally, I'm always been amused by the Canadian ignorance of university tuition in the States. Sure private universities like MIT and Harvard cost a lot of money. But public universities are more or less as cheap as Canadian universties and still produce first class research. BSD UNIX was developed at UC-Berkeley. Mosaic (the ancestor of both Mozilla and IE) was developed at UIUC.
As for the buzzword compliance, remember that TopCoder is a business and recruiters are its customers. TopCoder is only providing what they are asking for.
If anyone is interested in a programming contest for high school kids, check out USACO (USA Computing Olympiad). They have contests throughout the year (any country can participate) which lead up to the US Open (only US participates), a 5 hour, proctored contest which then determines eligibility to go to IOI (The Computer Science World Olympiad Training Camp) from which a few kids are chosen every year to represent the US in world competitions.
:-).
The contest style is very similar to the ACM (solve n problems in m hours) and often very interesting problems are given (just because it's high school, doesn't mean the kids are stupid
If anyone is a computer science geek in high school or a teacher of CS in a high school, you should definitely check it out.
When I was a sophomore(?) in high school around 1980, some friends and I entered a programming contest. I don't remember which one it was; it may even have been an ACM contest.
Anyway, we got a bunch of problems. I ended up taking the hardest one, which would probably take all the time allotted, while the others worked on cranking out the simpler one.
Here was the question: You have a salesman that must travel through a series of cities. Write a program to find the shortest route.
I had never heard of the Travelling Salesman problem before.
So I diligently tried to solve the problem. But for some strange reason, I kept running into cases that made it difficult to find the optimal, shortest route. I worked my ass off for the 2 or 3 hours that we had, and ended up running out time. I was sure there "had to be a solution", otherwise, why would they give us the problem?
It wasn't f***ing fair, and I'm still f***ing pissed about it to this day. :)
Sometimes it's best to just let stupid people be stupid.
If you're up there, there are companies looking to hire you. They seem like good companies too, really interesting work. Unfortunately, most of them want to hire immediately instead of waiting until June when he has his Master's.
Every contest has it flaws, but I think TopCoder is pretty good at keeping my Java skills up. I tend to do all of my personal programming in C/C++, so I forget my Java-isms. It also teaches me some practical Java stuff that you don't learn in books. I was suprised as hell that Java lets you add and subract from character literals, for instance.
Most of the harder problems require dynamic programming to keep you from exhausting the JVM's memory or exeeding the 8 second time limit imposed to prevent infinate loops.
Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
...even moderately offended by the lack of functional languages offered to the contestants?
(I'm (not (one) of those) rabid, foaming LISP advocates) that insists *everything* is better with functional languages... but... I do believe there is a time and place for just about every style of programming. Some of those questions looked very much like the "time and place" for a nice modern functional language like Haskell. Even Scheme would've been nice... Miranda, some flavour of ML... anything.
Perhaps there is some reasoning behind this that I'm missing. I guess I just thought it was sad that the ACM seems to be promoting the view that functional languages are too 'esoteric' even for use in a programming contest.
> I would love to know why you can't view PDF (Portable Document Format) files.
... It took forever to come up, and the first zillion lines were filled with all that junk at the top with a list of links and what they do. Where's the story? Lots and lots of scrolling until I finally found what should have been at the top.
.exe installer. If you have a Mac or linux or Sun or VMS or any other system, you can't get PalmOS software from them. Yeah, they obviously have the program, but you can't get it until you first pay the Microsoft tax.
/. on a web-enabled PalmOS device? I did look around a bit, and found no clues.
Just out of curiosity, I pulled my Kyocera smartphone (the one that runs PalmOS with IP and the Eudora web browser) out of my pocket. I thought I'd check out this news item and see how well it worked from this PDA (which is rather popular around here). I was underwhelmed.
First, I hadn't tried slashdot.org on it, so I had to do that. Jeez
Once I found it, it was easy enough to read, so I clicked on the link to the article. The site told me in no uncertain terms that my browser was not compatible with the site, and it wouldn't send me anything until I got an acceptable browser. The only acceptable ones, according to the site, are AOL, Netscape and IE.
I also visited adobe.com to see about getting a PDF reader. They have one for PalmOS, but to get it, you first have to buy a Windows machine, because they only supply it inside a Windows
So what am I missing here? Could someone explain to me just how easy it is to make this article's link work on my PalmOS gadget?
For that matter, is there a good way to read
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
Yes, I agree. Not just functional, either; lots of their problems would be exquisitely tackled by a logic programming language like prolog or twelf. It saddens me that ACM is not progressive enough to encorporate even "known good languages" into their allowed set (yet would easily fall to Yet Another Procedural Language with corporate backing like Java).
;)
There are lots of things that suck about the ACM contest, anyway. Personally, I think that the ICFP contest is much better, because:
- You can use any language, number of teammates, resources, etc.
- You get several days
- The problems are more interesting (sometimes unsolved)
- Work at home
Hmmm -
Good for Canada, but Western Europe surely had a dismal showing. Nothing in the top ten at all.
> If you define education as sitting in an
> institution doing whatever your teacher tells
> you and being graded on your obedience, then
> MIT fits in well. If you define education as
> accumulating knowledge, then you do not need to
> go to an institution to do that, just pick up
> books and start reading.
Clearly you don't know what you're talking about.
I would say that about one-third to one-half of my classes at MIT were of the first kind.
The rest were much more free-form, with open-ended 2-month long projects, creative works, etc, that allowed us to get into whatever we wanted to focus on, limited only by what we could learn in the given time. The amount of open-endedness only increases as you get into more advanced classes, and its really only the basic 6 (calc I, calc II, bio, physics I(statics+dynamics), physics II (electromagnetism+waves), and chemistry where the professors hold your hand and insist on a certain way of doing things. (Even those ways get argued by some of the students, who are given credit for being right when they are)
More data, damnit!
sort file1 file2 | uniq -d
So, whats my prize
No, Thursday's out. How about never - is never good for you?
As of a few years ago, the Ontario government deregulated tuition in certain professional programs (law, medicine, optometry, etc.) and some ATOP (Access To Opportunities Program, an expansion of "high tech" programs) ones (computer science, computer engineering), etc.
If you actually read the page I gave you, you'll see that tuition varies by faculty and program. Arts is $4400/year, while Computer Engineering is $6700/year.
Please dont make assumptions about things you know nothing about, especially considering I was commenting on something to which I grew up within 20 minutes drive from. The UofW is without a doubt in the top 5 computer education schools in the world.
First of all, I don't believe you, because anyone from Waterloo calls it UW, not "UofW." Second of all, I have a BMath (Computer Science) from the University of Waterloo (2001), so I know a thing or two about their CS program. :-)
Paul
Sorry I thought it was slashdotted ... I opened the site just after the article went up and it took about 5 minutes to load. I later found out that this actually happenned because someone else on this shared 28.8 connection was downloading a big image.
I stand corrected. A former w'loo Engineering student told me is was programmed by other students at that university.
"It's absurd to think the time saved by walking/biking to school or back would make any difference in the world."
I can attest to the fact that it DOES make a difference. Currently I drive to university (not waterloo) every day. And compared to my friends who live in residence, I have MUCH less time to do work. You see, I have to get up over 90 minutes earlier because I have to eat, shower, prep the car (remove snow/ice if necessay), drive, find a parking spot, walk from the parking to the lecture hall before class. While all they have to do is get up, wash their face, go to the 8:30 class and then eat/shower after it. And of course I don't have my computer and home resources on campus. I can't bring all my books with me (too heavy/bulky.) I have to drive home at the end of the day and help my younger brother with his homework and sometimes cook dinner (compared to friends on a meal plan.) That's 2-3 hours per day that the non-commuting people have over me. That's 120-180 hours per semester. Is it absurd that this much time would make no difference?
"It would be nice to have it sooner, but how can an exam schedule be determined before people stop switching courses?"
All they have to do is schedule the times but not the rooms. At my university, we know during course selection if we will have conflicts. This is especially important for people who are on weird schedules. We find out the exam room (which depends on the size of the class) maybe 2 weeks before exams.
Almost all of it is about optimization problems. I see little place for real-world issues like abstraction, concurrency, standardization, business problems (i.e. unstructured complexity).
I am sure it is good fun, and is a good predictor of math intelligence, but I would not call it a programming contest.
Then again, Computer "Science" has all too frequently been treated and taught as a wierd form of math, when almost all uses of it are in engineering. This may be one reason for the embarassingly slow progress in the field.
The only good weather is bad weather.
Well, I was being facetious, but since you asked...
1 - I am assumming duplicate lines have already been removed from file1 and file2. I don't know how you could remove them and find the same thing in both files, all in one command line.
2 - Knowledge of command line programs doesn't necessarily equate with knowledge of programming, but the two aren't necessarily exclusive, either. Unix command line programs are designed to be strung together at the command line with pipes and frequently have several command line options. What if I told you that sort file1 file2 | uniq -d used the quicksort algorithm and performed its task in O(n log n) time? Does the fact I solved a problem with the Unix command line make my solution any less relevant?
No, Thursday's out. How about never - is never good for you?
Smart canadian kids with $$$ go to UofW.
It doesn't cost an arm & a leg to get a university education in Canada. This is why there are so many educated Canadians available to go to work in America. Er, wha...???
The main thing about U(W) is that you need impossibly high grades to get in.
Amen to that. 4A here I come....
DataSquid.net, a little about me.
Nah, that's just mathNEWS that does that. And yes, that is how they spell it.
Paul
Yeah, I know how UW is funded, I went there. :-) I said "think state school" for our American friends. UW is a lot closer to a state school (UC Berkley) than a private one (Stanford) in terms of its funding model.
If you read the UW overview, you'll see that it is described as a public university where the provincial government pays 55 percent of the cost of the education.
Which, if you're a foreign student, costs $24 000 a year, instead of the $5 400 Canadian students pay (our government subsidizes half of the cost of tuition)
You're off by a factor of two. International tuition fees are CAD$13,700 (USD $8500).
You might want to recheck your facts. And tuition isn't deregulated in Ontario yet. :P
It is, for certain programs, like computer science, medicine, law and some engineering disciplines. See this Gazette article from 1998.
Check your facts.
Paul