ACM Collegiate Programming Contest Winner Announced 176
Slob Nerd writes "The finals for this years ACM International Collegiate Programming Contest World Finals have just finished. And the winner is... St. Petersburg Institute of Fine Mechanics and Optics! Full results here, and details on all teams here. A pdf of the problems is also available. Congrats to all involved."
And outsourcing isn't big in St. Petersburg... (Score:5, Interesting)
St. Petersburg colleges always do well in these competitions, and all that happens is the people end up emigrating.
Non-PC Question Here... (Score:3, Interesting)
Re:Non-PC Question Here... (Score:1)
Anyway, great computer scientists != great software engineer.
No, Russians need a diffiferent style (Score:2)
You are right about software engineering, that is where they still show some weaknesses, but no more than the Indians.
The end result is that you get what you pay for. If you are prepared to spend time supervising projects on a personal basis, they will work. and w
Re:Non-PC Question Here... (Score:3, Insightful)
Distribution Re:Non-PC Question Here... (Score:2)
The U.S., on the other hand, has a lower average (in my experience), but a *much* wider distribution. You find many more true stars as a percentage of grads.
Why doesn't that generate wins in the ACM contest, you might ask? Well, at least when I looked into joinin
Bleh (Score:5, Funny)
Respect! (Score:2, Interesting)
I, for one welcome our new russian fiberoptic programming overlords.
Depressing (Score:5, Insightful)
What happened to the satisfaction of doing something for its own sake?
Re:Depressing (Score:1, Insightful)
Re:Depressing (Score:2, Insightful)
You don't need to repeat yourself...
Re:Depressing (Score:5, Insightful)
If you want to program, you program for it's own sake.
Some people actually LIKE competition. They like piting their skills against a advisary. IT'S FUN.
People sponsor events like this because it gets people public attention. It allows you to identify good programming practices vs bad ones, good programmer's vs bad programmers, good programs vs bad programs.
People can take this experiance and IMPROVE themselves, they can see were they F*ck'd up and fix it, they can see were they did well and improve on it.
It allows the winners notoriaty. As a winner you get benifits like having your name advertised, getting a trophy, and you get to point out that for this event you were the best or part of the best programming team around.
Why would you NOT want to compete? What is wrong with competition?
IT'S FUN.
It inspires creativity, hard work, and advancements in technology.
It gives the winners rewards and it's a learning experiance for the losers so they can improve themselves.
Why do you find that so depressing?
It's a win-win situation for anybody and everybody involved that has a good attitude.
Re:Depressing (Score:1, Insightful)
I imagine Russia's team spent a lot more of their time practicing for this situation than everyone else did.
Someone else pointed out how Mathematics are given much more respect in Russia than they are in America's school system. That is certianly true as well..
Re:Depressing (Score:2, Insightful)
Sure it is, just look at the fun DunbarTheInept had [slashdot.org]. Does the fact he's still bitter months later strike you as evidence that he had positive, fun experience?
Insanely tight deadlines do not inspire creativity. Anyone who's had to produce robust codes knows that "Do it now" and "do it right" are mortal enemies.
Tell me, what technology couldd possible be advanced by bunch of students solving some already-solved problems in an extreme hurry?
Re:Depressing (Score:2)
Just because for him, the misprint scarred him for life, doesn't mean it's not fun for anybody else.
Like skydiving. Fun as shit. For Me. Now maybe for you, it won't be because all the way down you'll be whining about how much you don't want to get hurt.
Re:Depressing (Score:2)
I just said I was bitter about it.
There's a clear difference.
Re:Depressing (Score:2)
Re:Depressing (Score:3, Informative)
If he is sore about losing then it's his problem.
"unformed" lied when he said I didn't have fun.
Re:Depressing (Score:5, Interesting)
Plus, having two second-year compsci guys and a first-year engineer come in and beat everyone (including the profs, althought they were writting in Eiffel I think), was pretty funny. Mind you, we only won by a few points.
When we got to regionals though, it was clear that we didn't have the experience needed to go further. We had 8 hours I believe, and sadly, a few of those were fighting with stupid language problems, instead of actually solving problems. As an example, for one of the problems, we ended up overflowing a double in C, because the data was too big. The solution? Rebuild the same problem in Java, using a BigInt...
All in all, it was a great time, and since we finished first locally, the CMPT department paid for us to go to regionals.
Re:Depressing (Score:3, Informative)
Back in 1991 or 1992 I competed in this; at least back then arbirtrary precision arithmetic was
Re:Depressing (Score:2)
Well, sorta... I personally had no Java experience, and had to rely on my two partners to do it. I basically sat back and worked out the other problems on paper while that was going on.
Re:Depressing (Score:2)
Re:Depressing (Score:2)
In my youth (and before my engineering life), I had been a musician. I had made loads of money playing music (jazz, classical) at weddings and at Nordstroms. I have even performed a solo on the stages of Carnegie Hall by the time I finished high school.
I love playing music - and it was the competition that turned me off.
There was a competition where it was quite competitive - mostly full of home-schooled kids with parents proverbially putting all their kids' eggs in one basket (the music
Re:Depressing (Score:2)
1) It -is- enjoyable. Animals are meant to compete, that's what we do. No to brag about it, but just to feel good, by either winning or watching other really good people one.
2) By competing. you see how good you are compared to other people, which then drives you to get better. Take for example, someone who wants to get strong. It's going to be a lot harder for him to moti
Re:Depressing (Score:2)
What is the appeal of complaining about activities that other people enjoy but the complainer doesn't understand?
Re:Depressing (Score:1)
Re:Hippie... (Score:1)
Congrats to the winners, and bitter memories (Score:4, Interesting)
Way back when, I got to participate in one of these as an undergrad (it was 1994, if my memory is right). I've still got a little bit of a bitter memory over that one because a mistake in the givens of a problem caused our team to lose one of the problems - one which we would have gotten a HUGE score on otherwise. (Because it was done 'right'* in just 30 minutes, and your score is based on how much clock time was left after your solution is accepted.) (And that year the problems were really hard such that the winning team only got 3 of 7 done - they had accidentally given the undergrads the contest that was supposed to be for the grads - so missing one problem is a huge difference.)
* - But what was wrong with it was based entirely on a misprint in the problems presented to us. The problem involved calculating big factorial numbers (among a few other things). The trick was to realize that no computer had a native number format that could store 300 factorial, and so you had to invent your own string-of-digits number primative that could handle N digits and multiply two numbers - given that N could be in the thousands - it's a simple problem, but the trick is to realize it is necessary to make up your own primitive. I realized it right away and wrote up the number primitive in a few minutes. But there was a problem - the givens in the problem description guaranteed that the test input will contain no factorials that result in more than FOO digits, where FOO was something in th 5,000's. This was the misprint - the biggest test they used actually contained something like FOO+200 digits, where FOO was in the 5,000's. There was no good way to check this given, since to do so required that we have a large-number multiplying routine - which is what this program was all about in the first place - which is why they gave it to you as a given.
So when I allocated an array of size FOO+1 (for some overhead), my program kept crashing. Those people who got sloppy and didn't try to be efficient and just made a huge array of size 10,000 had their programs work just fine on the first attempt. Those people that tried believing the given in the problem had programs crashing. And the nature of the test environment was that we couldn't see our programs' responses to the test data, and the test results weren't allowed to tell us what really happened when the program was run - just that "program terminated prematurely.", and that's it - no information about the data that caused this, and no indication of where the program died. In our own tests everything worked fine because we weren't trying numbers larger than the givens PROMISED us the test data needed, but when the solution was submitted, the test data tried larger numbers than the given promised would be used, and thus the program crashed.
I only know what happened because an announcement was made 4 hours and 30 minutes into the contest that there was a misprint and then the correction was given. Then I changed the size of the array, resubmitted, and it was right, after too many penalty points for failed submissions, and 4 hours of points wasted on THEIR mistake. Yeah, I'm still a bit bitter, because their attitude was that the contest was allegedly still "fair" because everyone had the same misprint on their handouts, and scores would not be adjusted for this mistake. I called "bullshit" because some people hadn't even tried that problem and therefore were unaffected by its misprint, and people who had been sloppy and picked a huge array were also unaffected by the misprint.
Our team had a chance of pl
Re:Congrats to the winners, and bitter memories (Score:1, Funny)
Re:Congrats to the winners, and bitter memories (Score:2)
Re:Congrats to the winners, and bitter memories (Score:1, Funny)
Re:Congrats to the winners, and bitter memories (Score:2)
Re:Congrats to the winners, and bitter memories (Score:5, Insightful)
You say the people who "got sloppy" got the problem correct right away. I think a better description would be they put in some tolerance for errors. I would assume you bothered to check your program against the maximum input (to check for time factors).
You also forgot to mention that the three or four team members get to SHARE one computer. So, it's not only important to be able to solve problems quickly, it's also about managing the limited resources at your disposal.
Re:Congrats to the winners, and bitter memories (Score:1)
Ummmm...sure. In 1994 efficiency in resource usage was still a pretty important thing if I remember right. Even then, in a competition you program towards specs and specs only. Allowing faults in specs to influence who wins is akin to taking the point values of each team, roll a die for each of them, and multiply this by their respective scores.
One shouldn't be docked points for following the spirit, rules and the specs of something like this.
Re:Congrats to the winners, and bitter memories (Score:2)
I would assume you bothered to check your program against the maximum input (to check for time factors).
Of course. And if you read my post, you'd know that the givens as to how large the "maximum input" was was precisely where the mistake in the givens was. I did test for the maximum case they claimed the test data would contiain. But that claim was false.
You also forgot to mention that the three or four team members get to SHARE one computer. So, it's not only important to be able to solve problem
Re:Congrats to the winners, and bitter memories (Score:4, Interesting)
[54]> (! 300)
[anti lameness filter]
306057512216440636035370461297 268629388588804173576999416776 74125947653317671686
746551529142247757334993914
25476930271954604008012215776
57644883038890975394348962543
22936819436499564604981664502
06870150169794168850353752137
15693648223343679925459409527
00000000000000000000000000000
That's on Clisp 2.31, btw.
Re:Congrats to the winners, and bitter memories (Score:1, Informative)
On the other hand, many BASICs *do*. So don't go assuming it means a language is any good.
(As a smug ocaml user, I'd like to point out that my language of choice not only provides the option of arbitrary-precision arithmetic, but also the option of turning it off for efficiency purposes. And (it (doesn't (have (so (many (parentheses (either.))))))))
Re:Congrats to the winners, and bitter memories (Score:2)
Too bad, but why are you dissing everyone else? (Score:5, Interesting)
I do think that they should have re-adjusted for the misprint, but it's pretty small of you to simply denigrate everyone else's performance. Perhaps they had been exposed to some other ways of working with large numbers than allocating arrays to the max precision. When I was in high school we had a pi calculator we used to run using DEC BASIC's arbitrary precision string arithmetic (this was before high-res graphics or we would probably have been wasting our time on fractals). I'm sure if I'd been given the problem I probably would have done something involving strings which probably would have worked.
Re:Too bad, but why are you dissing everyone else? (Score:3, Insightful)
In these competition environments with severe time constraints, nobody would write an arbitrary precision routine when an upper limit of FOO is given. Some people do, however, set their "MAX" constant to something much larger than the given, but it is normally
Re:Too bad, but why are you dissing everyone else? (Score:2)
Re:Congrats to the winners, and bitter memories (Score:5, Interesting)
In 1999, we had a similar problem to what you just described -- the test data did not match the problem description. Many teams that followed the description exactly were not getting their programs accepted, while many other that simply accomodated for the flaw (without knowing that they were doing it) got their programs accepted.
But you have a recourse in this contest, which I remember the Waterloo team (sitting across from us) used: you can intentionally crash your program (using assert()) if an assumption you make about the program fails. If it crashes, you know that your assumptions are not holding. This is what Waterloo did, and they found out that the their program was failing because of a mis-specification.
As others have said, the ACM contest is about time-management, teamwork, good decision making, and clever and fault-tolerant programming. I understand your frustration (I'm right there with you), but I think the lesson to be learned is how to work together solve the problem, not how to hold a grudge.
Re:Congrats to the winners, and bitter memories (Score:2)
I meant the world finals that occurred in spring 2000 and spring 2001. The regional competitions were in 1999 and 2000, respectively, which were the dates I wrote above... blargh.
Re:Congrats to the winners, and bitter memories (Score:2)
In real life, this is always case, except for the cases when you get no problem description at all, which is usually the case.
Example:
Customer: This is wrong! The program should (waves hands wildly and grunts)!
That is your spec. I think the folks running the contest are smarter than you give credit.
Re:Congrats to the winners, and bitter memories (Score:2)
That is your spec. I think the folks running the contest are smarter than you give credit.
No, because the misprint was not deliberate.
Re:Congrats to the winners, and bitter memories (Score:2)
intentionally crash your program (using assert()) if an assumption you make about the program fails.
In this case that wouldn't have helped. Regardless of if an assert() fails or if the program crashes because it blew past an array, the result that we could see would look the same - the standard ACM judge response would just be "program terminated before processing all input", and you wouldn't get to see the output of the run, so you can't tell if it's your assert() that's causing the crash or not.
Re:Congrats to the winners, and bitter memories (Score:2)
Re:Congrats to the winners, and bitter memories (Score:2)
Re:Congrats to the winners, and bitter memories (Score:2)
Contrary to the parent, you can use assert to help you. You can be *almost* 100% sure that your assert is crashing the program by doing this: submit the program twice, once with the assert, once without. If only the program with the assert (and no other changes) crashes, then your assert has given
Re:Congrats to the winners, and bitter memories (Score:2)
Error checking. (Score:3, Insightful)
Or (print (fact 1.5)).
Or (print (fact "Hi, Mom!")).
In a dynamically-typed language like LISP, it is important to check that the argument(s) is(are) of the right type, as well as within the proper range(s).
So you should add a check to make sure that the arg to fact is a positive integer.
To avoid doing this check every time that the function recurses, fact should do the check, then hand off the calc to a helper function, say, unchecked-fact, that is defined similar to the way that you o
Re:Error checking. (Score:2)
The GP was complaining about just that: the input was bad (i.e., the numbers were too large).
Your solution would have handled that particular bad input, but not the more general case (negative numbers, etc.).
In addition (from GP):
Re:Congrats to the winners, and bitter memories (Score:2)
[OT]Re:Congrats to the winners, and bitter... (Score:2, Informative)
Both definitions of factorial (recursive and non-recursive) are perfectly good (mathematically) ways of defining the function. However, in the Real World, there's a large difference: even in lazy languages, allocating the space for the list (stream? generator? i'm not very well-versed in Haskell) is going to take memory and computing time. In fact, i think that in this particular (trivial) example, allocation will take as much if not more resources than generating the data itself. The recursive definit
Re:Congrats to the winners, and bitter memories (Score:2, Interesting)
I left with this opinion of the ACM Programming Competition: It is a college event. College is about learning. What do you learn at that event? Nothing. If you get a problem wrong, it is wrong. There is no
Re:Congrats to the winners, and bitter memories (Score:2)
The regional directors have a fair amount of autonomy as to how they run the contest. Several regions (and the finals) never release their judging data. Many others publish the judging data and/or correct solutions to the problems. I am strongly in favour of the latter approach and have argued its merits (without success) to the powers that be. In re
Re:Congrats to the winners (Score:1)
We had a similar thing happen to us in the pre-Regionals round (a model solution was wrong!). However, the judges subsequently recognised the problem and allowed us into the regionals (in the days before the South Pacific had its own region) -- which we won (end of 1990). Ahhh, the good old days...
Re: (Score:3, Interesting)
Re:Congrats to the winners, and bitter memories (Score:2)
1 - didn't run at all (syntax problems, or linking problems, or something like that)
2 - terminated before processing all input (usually a crash, but could be just an exit(0);)
3 - took longer than X minutes and was th
Re:Congrats to the winners, and bitter memories (Score:3, Informative)
I'm bitter because when my team won the championship (UCLA, 1989), there were no prizes! We got a $500 scholarship for the department.
At any rate, there are worse ways to get screwed in the contest. The following year, when we defended our title, we never made it out of the regionals. That year, solutions were submitted on floppies and tested & scored automatically. Turned out that one of the floppies we were given already had a file on it, and unbeknownst to us, the scoring
Re:Congrats to the winners, and bitter memories (Score:2)
PS What are you doing with a grad. degree (assumed PhD) in CS and not programming?
Re:Congrats to the winners, and bitter memories (Score:1)
Or : be very strict when writing/sending, be very lenient when reading/receiving.
There is such an advice in all the RFCs. Lots of buffer override exploits work because the programmers didn't respect this paradigm.
And this is something you should also do with function parameters, object state, etc...
Re:Congrats to the winners, and bitter memories (Score:2)
Similar story (Score:3, Interesting)
We wasted lots of time and didn't complete any more problems but we were close to solve a problem in the last few minutes so we may have gotten two problem
Re:Congrats to the winners, and bitter memories (Score:3, Interesting)
When we were in this my team wasted hours poking away at the hard ones first, which we didn't realize were the hardest ones there until we already wasted time on them. In the last 2 hours we finnally had working algorithms on the easiest ones, but then the bottleneck was access to the workstaio
Re:Congrats to the winners, and bitter memories (Score:2)
I totally agree. I was in this contest one year, and it was when it was too late that I realized that the key to being successful in this contest is having the ability to pick out the easy problems and do them first.
Actually, that IS supposed to be part of the contest. They explain carefully how the scoring works, and even point out that this means it's best to identify those problems you think are fastest and work on them first.
The ability to detect that the description of the problem is defining a th
Re:Congrats to the winners, and bitter memories (Score:2)
I know that. We knew before hand that it would be best to do the easiest ones first. What we didn't know was that this ability to identify in and of itself is a crucial skill. You shouldn't just practice solving programming problems, you should pratice identifying problems to solve.
We didn't
Re:Congrats to the winners, and bitter memories (Score:2)
How did any of the descriptions of the problems actually lie?
Did you read my post that started this? It's right in there. The problem stated, as a given, that the max number of digits we would have to calculate for was FOO, when the input they used actually contained some data requiring something like FOO+200 digits. My first submitted program to solve it was perfect - except that it needed a bigger array than the givens claimed I would need.
Re:Congrats to the winners, and bitter memories (Score:2)
To: Dunbartheinept
Are you from Dunbar High School in Fort Worth?
No. (geek alert) Dunbar is a halfling thief character I used to play back in those college days. The title "The Inept" was given to me by other players due to the fact that for three game sessions straight I never once rolled a number smaller than 75% on my percentiles, and thus failed absolutley every attempt to be sneaky. Entire campaign arcs were caused by that string of bad luck.
Re:Congrats to the winners, and bitter memories (Score:2)
- program produced incorrect output.
Now try to decipher, from that alone, that this was caused by your numbers too big print statement instead of by something else in the code.
The problem with the ACM contest is that it robs you of ANY sort of feedback, and thus when there is a discrepency between the handout's description of things and the actual test the judges run, you can't tell that that's what's happenei
It runs Linux! (Score:5, Informative)
Many slashdotters will probably be pleased to know that the contest's environment OS was Red Hat Linux 9.0.
Full environment specs here [baylor.edu].
Re:It runs Linux! (Score:2)
Congratulations to the Russians (Score:5, Interesting)
It comes as no surprise that Russian teams did especially well considering most of the problems relied heavily on mathematical understanding. It's perhaps the one country in the world where logic and math have been given their rightful place and respect in education.
Re:Congratulations to the Russians (Score:1, Insightful)
Octavian-Daniel Dumitran (*)
Reid Barton
Victor Costan (*)
Re:Congratulations to the Russians (Score:2)
Not that the winners shouldn't be congratulated--it's an incredibly challenging competition--just that it doesn't have that much to do with math.
Re:Congratulations to the Russians (Score:5, Interesting)
He said that in Canada, much more focus is placed upon raw math then in Russia, where a lot of his time (11 or 12 courses!) was wasted on things like History of the Party, Marxist Theory, etc..
The main difference in my experience (which is rather short; I left the country at 8, so I was just finishing grade 2) was that the _intensity_ of the education was much higher in Russia, not in the higher learning institutions, but in the normal (for kids aged ~7 - 14) school system. We had homework, every single day, and it was routinely checked. Not only that, but if your nails were not cut, if your hair was not combed, you'd be sent him in shame.
What I learned in the first 2 years of education in Russia lasted me through until about Grade 6 in Canada's public eduication system. I think the result of this is that by the time you hit Post-Secondary your mind is already working at full capacity. In Canada at least, I went through the entire public system completely braindead, and only now that I'm in second year at University do I really feel like I'm being challenged (maybe a little too much.. should have been better spread out over the years I wasted in high school!)
Re:Congratulations to the Russians (Score:3, Informative)
I was also comparing what I had learned in college with my father's experience (PhD from Russia), and by the end of undergraduate college its pretty even. Where the un-even-ness is, is the level of education in elementary and high school. In Russia you would know Calculus, Chemistry, Phyiscs and Biology by the time you leave high school, in the US, you'd be lucky if you take one.
However, in college you are forced to quickly catch up on all of those things, which places you in a lot of
Re:Congratulations to the Russians (Score:3, Informative)
Re:Congratulations to the Russians (Score:2)
Re:Congratulations to the Russians (Score:2)
Is this a surprise to anyone? (Score:2)
Congrats to KTH! (Score:1)
MIT has the highest score (Score:3, Interesting)
Re:MIT has the highest score (Score:5, Informative)
Interesting problems (Score:5, Interesting)
You had a limited amount of time, and when I was going it only a single terminal so only one team member could actually code at once. So optimizing for time to code was a huge factor. But it also meant that you could afford to specialize a bit, have some out-of-the box thinkers who may be great algorethmically but not the best with real code, and a dedicated coder to implement.
I remember one year we had a Mechanical Engineer on the team who had a completely different approach. We were trying to work out how to do one problem correctly mathmatically and he mentioned that they only wanted two significant digits and suggested an iterative solution to the math problem that worked beautifully.
Hats off to all the competitors.
Cheers,
=Blue(23)
Why this is hard (Score:5, Interesting)
* You have more problems than your team can possibly do in the time allotted. When I did it, the winners got 4 or 5 out of 8. There's a lot of pressure to work fast.
* All the problems are tricky, but there is definite variance in their difficulty. Since your score is based not only on how many you get right, but how fast you get them right, you have to figure out which problems are the easiest and do them first. Starting with a problem that looks easy but turns out not to be can really hose you.
* The answer evaluation is harsh. You submit a solution program and if it's not correct you get back a response like: "insufficient output", "too much output", or simply "incorrect output." Figuring out why the judges say your program doesn't work when you think it does can be really frustrating.
* There are multiple people on the team (4 my first time, 3 my second and I think since (but someone correct me if that's no the case)) and only one computer, so managing that resource is crucial.
I don't know how much the contest proves, or how much stock employers, say, should put in it, but it was fun to do.
Re:Why this is hard (Score:3, Insightful)
The contest I competed in had IBM as its sponsor, and there was a rep there collecting resumes. There was another regional non-regional that I've competed in sponsored by Sun Microsystems and they where collecting resumes there as well.
I believe that, aside from the challenge, these contests
Humor in problem set D (Score:2)
I wonder if many of the international teams appreciated some of the subtle humor in these problem sets, especially this. =)
-Cyc
Re:Humor in problem set D (Score:2)
http://www.ioi2003.org/ioitasks/code.pdf [ioi2003.org]
This is a task from an International programming competition (like a secondary school version of ACM). Unfortunately, I guess I failed as a slashdotter as I scored ZERO (my only zero for all six tasks) for that particular problem. I repent.
South Dakota School Of Mines (Score:1)
Re:South Dakota School Of Mines (Score:1)
Oh, THAT St. Petersburg (Score:1)
St.Petersburg guys, apply to MIT and Stanford (Score:5, Interesting)
The first time, I was studying at a Bulgarian university (Sofia), and we scored 4th at the finals; MIT scored 5th. Two of us transfered to MIT that same year. Even though we had the skills to do well in such a contest (quick, efficient coding; algorithms knowledge; a little bit of teamwork), there's far more to computer science and engineering than that, and the rest is not taught in any Eastern European university.
And this is basically why programming contests are so hot in that part of the world. And why American students generally don't do well. It's all about the incentive! Kids in the US don't need to do it, and have little to gain. Whereas in Eastern Europe, it's the way to get some kind of recognition, and get on the fast track to a good education, a good job, etc. (Usually, involving immigrating, of course.)
Also, you should understand that these kids have been training for 5 years for such programming contests. Programming as a sport starts around 7 or 8th grade (IOI is the equivalent international contest for highschoolers), so by the time these kids get to college, they are highly experienced.
So, yeah, I expect the winners to apply to the best American universities and get in, of course.
MIT and Stanford can only gain by losing in that competition.
Why they changed it... (Score:1, Funny)
People just liked it better that way
Saint-Petersburg renamings (Score:2, Informative)
1914-1924: Petrograd
1924-1991: Leningrad
1991-....: Saint-Petersburg
Re:Saint-Petersburg renamings (Score:2)
Re:Saint-Petersburg renamings (Score:3, Informative)
Re:Were the problems really tough? (Score:1)
Re:Were the problems really tough? (Score:2)
In general, it's a lot of fun. As I stated elsewhere here, the one time I tried it there was a mistake in the givens that made things u
Re:More info? (Score:2)