文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>编程竞赛控制系统PC2客户端使用说明

编程竞赛控制系统PC2客户端使用说明

时间:2010-03-27  来源:scutacm


PC2客户端是编程竞赛中参赛队员使用的客户端程序,具有提交题目答案(源代码)、测试答案、查看评判结果、提问等功能。

1.   启动客户端

进入文件夹C:\pc2\,打开文件pc2team.bat,启动程序后可看到登录界面:

图 1 登录界面

在登录界面上输入用户名和密码,请注意区别大小写。用户名和密码在比赛前由主办方提供。 登录成功后则进入主界面,如下图所示:

图 2 主界面

若比赛还未开始、比赛中止、比赛已结束,则在主界面上方会提示红色大字体“STOPPED  CONTEST IS NOT RUNNING.”。如果比赛正在进行,则在左上方提示剩余时间。

图 3 比赛剩余时间提示

客户端主界面一共有四个页面:

(1)    “Submit”页面:用于提交题目的源代码答案和本地编译测试源代码。

(2)    “Clarification”页面:向裁判提问,沟通交流。

(3)    “Runs”页面:查看每次提交答案的评判结果。Status为“Yes”表示答案正确,解题成功。

(4)    “Setting”页面:修改用户密码。

 

2.    提交答案

在主界面“Submit”页面上,您可以提交对某道比赛题目的解答情况,上传源代码文件。系统会自动帮您编译源代码,运行编译后的程序,验证运行结果,以确定源代码是否正确。必要时裁判人员会帮您手工评判。 提交答案的步骤如下:

(1)    在“Problem”下拉框中选择您要解答的题目。

(2)    在“Language”下拉框中选择您使用的编程语言,默认提供C++、GNU C++、GNU C、Java四种选项。

这里的语言指的是系统所采用的编译平台,C++使用Visual C++ 2005编译器,GNU C++使用G++编译器,GNU C使用GCC编译器,Java使用Javac编译器。C/C++编译器支持C99标准语法,Java编译器使用的JDK是JDK 1.6。

您应根据源代码语言选择对应的选项(编译器):

① C++语言:选择“C++”或“GNU C++”。

② C语言:选择“C++”或“GNU C”。(Visual C++ 2005编译器支持C语言)

③ Java语言:选择“Java”。

(3)    点击“Select”按钮,选择您要提交的源代码文件(对应所选题目)。

如果您的源代码文件有多个,请先用“Select”按钮选择包含应用程序入口函数(main)的主文件,再点击左下角的“Add”按钮添加其余文件。“Remove”按钮可以移除附加文件。

注意不能提交任何数据文件或编译后的可执行程序文件。 (4)    点击“Submit”按钮,提交源代码。提交前系统会弹出提交提示框(“Run Submission Confirmation”),请您确认您要提交的内容:

图 4 提交确认窗口

若您确认无误,则点击“Submit”按钮,否则按下“Cancel”按钮取消提交。提交成功系统会返回一个消息提示:

图 5 提交成功提示窗口

成功提交后,系统会尽快评判您的答案,包括编译代码、运行程序、验证结果等过程,然后以消息提示框的方式通知评判结果。若答题通过,则返回的结果(Judge’s response)为“Yes”,否则返回其他错误提示(以“No”开头)。

图 6 评判结果提示窗口

评判结果一般可分为四种:

评判结果 说明
Yes 解题正确

No - Compilation Error

错误原因:编译错误

No - Run-time Error

错误:程序运行错误

No - Time-limit Exceeded

错误:运行超时(每道题都有运行时间限制)

No - Wrong Answer

错误:运行结果与标准答案不一致

No - Excessive Output

错误:程序运行占用内存空间超出要求

No - Output Format Error

错误:输出格式错误

No - Other - Contact Staff

未知错误
 

系统并不限制每道题的提交次数,若您提交某道题的答案后系统返回错误提示,您可修改源代码后继续提交,但一般情况下请尽量保证您提交的代码是正确无误的(可使用“Test”功能在本地测试一下)。因为提交的错误次数将会影响您的最终排名(系统评分机制请看第7点)。

3.    查看每次做题情况

在“Run”页面可以查看每次提交答案对应的评判结果:

图 7 提交和评判结果历史记录

上图的表显示了每次提交的ID(Run Id)、题目(Problem)、解题时间(Time,从比赛开始算起,单位分钟)、评判结果(Status)、编程语言(Language)。

 

4.    “Test”功能

若您想在正式提交答案前模拟一下系统评判的编译环境,测试一下您的代码,您可以使用“Test”功能。“Test”功能将使用与裁判端一致的编译环境编译您的代码,在本地机子运行编译后的可执行程序,并输出运行结果。

“Test”功能使用如下:在“Submit”页面选定题目、语言、源代码文件后,点击“Test”按钮,在弹出的对话框选择测试所用的输入数据文件:

图 8 选择测试输入数据文件

该测试数据文件是一个Ansi格式编码文本文件,其内容要求与题目输入数据格式一致,一般需要参赛人员自己编写。一个简单快速的方法是您将题目描述中的 “Sample Input”(输入示例)“拷贝”到一个txt文件中,然后选择该txt文件。

若比赛官方有说明,则会在一个URL地址(比如ftp://222.201.145.177/testdata/ )中提供这些测试数据样例的下载。

选定测试数据文件后,系统会帮您编译代码,并给出输出结果或错误内容提示:

图 9 测试输出结果

5.    提问功能

若您对某次评判结果有疑问,可以在“Clarification”页面中提交您的问题,裁判或主席团将酌情给予解答。 “提问”使用过程:点击“Requst Char”按钮,在提问窗口选择题目,编写您的问题后提交。

图 10 编写问题

您需要在问题中说明具体某次提交的Run Id,详细地说明问题内容,否则裁判难以帮您解答。一般情况下,若返回的评判结果是“No - Other - Contact Staff”,才建议您使用提问功能。(其他结果能很明确地说明您的答案有问题)

6.    退出客户端

点击主界面右上角“X”按钮或“Exit”按钮。  

7.    比赛排名机制

PC^2系统排名机制:

(1)    解答正确的题目越多,排名越高。

(2)    正确数目相同时,罚时越少,则排名越高;只从正确解答的题目中罚时,解答错误的题目不罚时。 系统根据以下两方面计算罚时的分数:

i.          从比赛开始,到首次提交某道题正确的答案时,每过一分钟,便从该道题目罚一个分数,但不包括裁判评判答案所花的时间。

ii.         每提交一道题目的错误答案,都会罚一定的分数(默认是20,与ACM/ICPC正规比赛相同);提交正确答案后,若再次提交这道题的错误答案,则不罚时。

(3)    如果有两支队伍的正确数目相同,罚时也一样,则看哪支队伍最后一次提交正确的答案比较早,则这支队伍的排名较高。

  参赛队伍可以在官方提供的网址查看每支队伍当前的解题情况,例如:

ftp://222.201.145.177/Scores/summary.html

8.    注意事项

(1)    登录不成功,出现以下提示: l         “Could not contact server,please contact staff”:主机不能连到服务器(网络连接、防火墙等因素),或者比赛未开始。请检查网络连接、防火墙等因素,若有必要则换主机使用。

l         “Invalid Login”:用户名或密码错误。若忘记用户名或密码,请联系比赛主办方人员处理。

l         “Aleady Logged In”:用户已经登录。请确保用户名正确且无重复登录,若之前您已经在另外一个客户端登录系统,请先退出后再登录。若因机子突然死机、断网、客户端程序崩溃等意外原因导致不能正常退出系统,请联系比赛主办方清理您的登录状态,再重新登录。

(2)    主界面上方若出现“Problem submitting run – contact contest staff”红色字体提示:

图 11 客户端提交异常提示

              则请退出客户端重新登录。

 

(3)    评判结果显示编译错误,但在本机能编译成功,一般这种情况的原因是您的代码不符合编程语言的标准语法要求,而所使用的IDE也不支持新的语法标准。比赛要求提交的C/C++代码符合C99标准。

一个典型的例子是for循环体内声明的变量作用域在循环体结束后已经不存在,比如(for int i=0;i<10;i++),变量i在for语句结束后将不起作用。

预防这种错误的一个方案是使用支持C99标准的IDE,例如使用Visual C++ 2005,而不是Visual C++ 6.0。Visual C++ 6.0只支持C89标准,不支持C99标准。

您也使用客户端所提供的“Test”功能,测试您的代码是否在系统编译环境下能否编译成功。

(4)    比赛官方博客地址是:http://scutacm.cublog.cn 。比赛说明、试机题目及其他信息都会在这个博客上以文章方式公布,请注意查看。

   
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载