关于在搭建PC2比赛环境时遇到的几点问题

来源:互联网 发布:linux复制文件内容 编辑:程序博客网 时间:2024/06/08 04:37

由于ACM集训队训练的需要(因为ICPC用的就这个),我为了搭建这玩意儿已经花了不少时间了

(虽然前辈已经把具体步骤写在wiki上了),

在此期间还是遇到了不少问题,这些都是用教训总结出来的。



基本系统:

1.ubuntu12.04,ubuntu14.04上均有搭过;


2.注意在安装必要软件的时候要装全了,删除无用软件的时候看仔细了(我就不小心把software-center给删了);


3.选来当做服务端和judge端的电脑注意设置成防止锁屏(这是细节);



配置服务端:


1.注意一定要把/home/acm/pc2-9.2.3目录下的pc2v9.ini拷一份到/home/acm/pc2-9.2.3/bin(这是最基础的一步);


2.修改/home/acm/pc2-9.2.3/bin/pc2v9.ini的site1的ip地址时只要修改localhost为服务端的ip地址就行了,

 注意不要把"server=localhost:51002"中的server也删了,否则客户端就会出现无法连接到服务器的现象

(今天倒腾了半天就是这个原因);


3."添加题目:点击Problems,点击Add,填写题目名称,时间(单位:秒),

勾选Problem Requires Input Data,Stdin,

选择输入文件,勾选Judges Have Provided an Answer File,选择输出文件。

点击Judge Type,选择Computer Judging自动判题。

点击Validator,选择Use PC^2 Validator,在下拉框中选择1-diff,确定."

这是一步完成的(一个窗口),注意勾选Stdin否则就会出现一段正却的代码交上去judge端一直Executing....

一直跑时间直到超过时限然后给客户端返回TLE的结果。

(暂时没搞懂为什么,等我仔细研究一下英文版的说明书);


4.一定要确保每一道题都有judge端来评判并且要确保所有的judge端都处于开启状态,否则提交代码的时候就不会返回任何结果,

rank上也不会显示(急死你);


5.执行登陆pc2board的时的默认账号时scoreboard而不是board或者pc2board(幸好我机智知道看看server端,很快就发现了);


6.终端执行pc2board,在pc2-9.2.3/bin/下会生成html文件夹cd html, python -m SimpleHTTPServer,

在浏览器输入服务器ip:8000,就可以查看比赛状态了。

注意python -m SimpleHTTPServer这个服务一定要在后台保持开启,不然你看个毛啊!



配置客户端:

1.同样需要修改/home/acm/pc2-9.2.3/bin/pc2v9.ini的site1的IP地址(保持和server端的ip一致不解释);


2.在桌面新建PC^2.c文件,写入以下内容 #include<stdlib.h> int main() 

{ system("cd/home/acm/pc2-9.2.3/bin&&/home/acm/pc2-9.2.3/bin/pc2team"); }

(不同的电脑和pc2-9.2.3文件为路径不同注意灵活修改运用)

1 0