喜欢做Topcoder Single Round Match的Pythoners可能已经发现,Topcoder Arena已经允许参赛者使用Python完成SRM的题目了。
然而,在享受用Python做题带来的快乐感受时,有一点可能需要引起Pythoner们注意:
并非所有的SRM题目都保证一定可以用Python来完成,这很大程度上要归咎于Python竞赛引擎的效率问题。
在算法时间复杂度一定的前提下,使用C/C++甚至Java实现的程序执行效率要优于Python。
因此,在完成SRM的题目时,如果对于时间复杂度的要求较高时使用Python需谨慎,此时转而使用C++或者Java来完成或许是更好的选择。
笔者在参加SRM606时,尝试使用Python解答div2的500分题目,代码如下,在challenge阶段被同房间的选手挑战成功了。
系统测试完毕后,通过观察Divion Summary,笔者惊讶的发现使用Python解答500pts的选手中竟无一人通过系统测试,下面是div2 500pts的题目描述及解答:
Marco has a string S composed of lowercase letters. You ...