Unhackable List

Правка en2, от eidan, 2019-02-14 20:28:05

Last round involved a randomized solution for problem E, and some pretests were aimed against std's rand() function. This caused a big dispute among contestants. It was questioned whether doing this type of tests was fair or necessary, since passing them depends merely on specific language knowledge, not actual problem-solving skills. Contest coordinators counter-argued that participants would've gotten hacked if it hadn't been for these pretests. They also stated that it's one's responsibility to know their favorite language when using it on a round.

I believe the intrinsic reason for this dispute is that languages are not exactly designed for competitive programming. Therefore, there will inevitably be issues in the language nature, that will bother us during contests, such as the rand() function, that's just reality.

That's when I thought: We should have a list of the main language-specific issues that could annoy us during contests. Just a brief enumeration of not-so-fun facts about languages, such that, if not known, could break our solutions or get us hacked. If we just have a brief list available for the community, when a problem could make you bump into one of these issues, contest coordinators could safely assume we know about them and not get into an ethical debate whether it's fair to include tests against it. Also, contestants would be safe from losing rating to specific language knowledge.

C++

Don't use rand
Careful with unordered_map

Java

Arrays.sort() may cause TLE!

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en10 Английский eidan 2021-01-27 23:44:08 702
en9 Английский eidan 2019-02-16 20:32:20 8
en8 Английский eidan 2019-02-16 06:13:32 581 Tiny change: 'n instead.[More info' -> 'n instead. [More info'
en7 Английский eidan 2019-02-15 10:36:54 298
en6 Английский eidan 2019-02-15 10:20:34 176 Tiny change: 'n has low recursion limit">\n' -> 'n has low limit">\n'
en5 Английский eidan 2019-02-15 06:30:43 228
en4 Английский eidan 2019-02-15 00:22:49 878 Tiny change: ' a round. Since both side' -> ' a round. I think both side' (published)
en3 Английский eidan 2019-02-14 23:10:00 2284 Tiny change: 'se <math>O<sup>2</sup></math>. [' -> 'se <math>O(n<sup>2</sup>)</math>. ['
en2 Английский eidan 2019-02-14 20:28:05 1251
en1 Английский eidan 2019-02-14 19:28:54 971 Initial revision (saved to drafts)