一、网址
二、网站介绍
TopCoder是一个程序设计比赛的网站。该网站每个月都有两到三次在线比赛,根据比赛的结果对参赛者进行新的排名。参赛者可根据自己的爱好选用Java, C++, C#, VB或python进行编程。参赛者须在1小时15分钟的时间内完成三道不同难度的题目,每道题完成的时间决定该题在编程部分所得的分数。而比赛可分为三部分:Coding Phase, Challenge Phase和System Test Phase,其中Challenge Phase部分是让参赛者浏览分配在同一房间的其他参赛者的源代码,然后设法找出其中错误,并提出一个测试参数使其不能通过测试。如果某参赛者的程序不能通过别人或系统的测试,则该参赛者在此题目的得分将为0。关于其比赛的具体规则,详看该网站上的公告。
以上信息主要针对TopCoder公司举办的算法竞赛部分,而实际上远不只于此。
整体而言,TopCoder是一个面向平面设计师和程序员的网站,它采用比赛、评分、支酬等方式吸引众多平面设计师和程序员业余工作。
三、操作流程
0 打开网页,点击右上角的“LOG IN”
3-0.png
1 点击“COMMUNITY LOG IN”
3-1.png
2 如果没有注册过账户,点击最下方的“JOIN NOW”进行注册。
如果注册过,在第一行输入用户名或者邮箱号,第二行输入密码,点击“LOG IN”按纽进行登录
3-2.png 3 选择“LEARN”下的“COMPETITIVE PROGRAMMING” 3-4.png
4 进入“COMPETITIVE PROGRAMMING”,可以看到有四个选项,后两个分别为“LAUCH WEB ARENA(BETA)”和“LAUNCH APPLET ARENA”。
这里的ARENA就是算法比赛的竞技场。WEB ARENA是网页形式,APPLET ARENA则是客户端的形式。
3-3.png
四、Arena简介
TopCoder竞技场有两种形式:网页版(Web Arena)和客户端(Applet Arena)。
推荐使用Applet Arena。
0 Applet Arena是用Java编写的,所以安装之前要先安装JDK后,需要勾选Java控制面板中的“启用浏览器中的Java内容”,并将htttp://www.topcoder.com 添加到特殊站点中。
1 点击上图中的“LAUNCH APPLET ARENA”,浏览器会下载ContestAppletProd.jnlp。
(启动Arena的过程,若有提示“Java版本过低,是否需要安装新版本”,可选择“稍后”。)
4-1.png
JNLP(Java Network Launching Protocol )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序。
Java桌面应用程序以JNLP 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点。
2 使用javaws命令启动ContestAppletProd.jnlp。比如ContestAppletProd.jnlp放在D:\Software目录下,则命令为javaws D:\Software\ContestAppletProd.jnlp
4-2.png
3 输入用户名(注意只能是用户名,不能是邮箱)和密码,点击“Go”按纽
4-3.png
4 进入TopCoder Arena
4-4.png
5 选择“Practice Rooms”-->“SRMs”-->“1-25”-->“2-SRM 144 DIV 2”
这里SRM是Single Round Room的缩写。
DIV 2和DIV 1的区别在于DIV 1中的题目比DIV 2要难。并且只有积分达到一定程度才能进DIV 1。
初学者只能进DIV 2。
4-5.png
6 进入房间,左侧的RATING KEY显示了积分与用户名颜色的对应关系。
2200分以上的用户名为红色
1500-2199的用户名为黄色
……
没有积分的颜色为白色。
刚注册的用户,因为没有积分,用户名为白色。
点击中间的Select one,会弹出下拉框,显示“200”,“550”和“1100”。这三个数字代表题目的分数。分数越高则难度越高。
4-6.png
7 点击分数,就可以进入相应的题目,比如点击“200”分,会弹出一个新的的页面。
上部分显示了可选择的编程语言:Java,C++,C#,VB和Python
中间部分是题目的描述
下部分是代码区,用户在这个区域输入代码并测试、提交
4-7.png
8 假如题目不会做,则可以查看别人的答案
在TopCoder主界面点击“Summary”按纽,弹出“Competition Details”界面。
这个界面显示了所有人的分数或状态:
Unopened表示用户没有打开这道题
Opened表示用户打了这道题,但最终没有提交代码
提交的都打了分数,分数越高表示代码越正确
4-8.png
9 可以点击某个分数,就会显示这个用户这道题的源代码。当然,分数高的才值得看,分数低的说明做的不好,不要去看。
比如下面打开的这个源代码界面,
顶部transition’s 200-point problem,transition是用户名,200-point是这道题的分值,C++表示用户position做这道题时所选的编程语言
Problem Statement部分是题目的描述,可以拉大或滚动这部分的窗口来查看完整题目
Source Code是源码区,可以查看完整的源代码
4-9.png
网友评论