On Monday, 30 July 2018 at 19:44:32 UTC, Steven Schveighoffer wrote:
a lifetime ago, I competed using topcoder (and wrote a bunch of problem sets for them too). Topcoder had a "challenge" phase, where you could challenge the solutions of others.

Nice! I just found your profile and problem sets from 2003-2004. I started using TopCoder in 2005, didn't see these earlier.

Is there anything like that in codeforces, and if so, is D an advantage as a "somewhat obscure" language (i.e. competitors can't always understand your code)?

Yeah, in a way. The challenges are called "hacks", and can happen for the whole duration of the contest. But to hack solutions for a problem, you have to first write your own solution to this problem, pass preliminary tests with it, and lock it so you can't resubmit. The key difference is, when the hacked solution itself was not locked, it still can be fixed and resubmitted (with a score penalty), which is actually a win-win.

As for how a different language helps, well, perhaps it does. But, sadly, competitive programming style often goes against readability, to the extent the language allows it. In that regard, somewhat unexpectedly, I find other languages (e.g., Java or Python) more readable than C++ despite the fact that I'm less experienced with them. In C++, most competitive programming code contains a bunch of the author's exclusive #defines for the language shortcomings (or worse, #defines just to save typing). And since #defines are so flexible, everyone has their own version of the language, and some of the resulting code is straight unreadable without a deciphering effort.

Ivan Kazmenko.

Reply via email to