当前位置: 代码迷 >> 综合 >> hustoj acm 在线评测 源代码 评测 安装 优化 设置
  详细解决方案

hustoj acm 在线评测 源代码 评测 安装 优化 设置

热度:32   发布时间:2024-01-21 09:01:28.0

hustoj acm 在线评测 源代码 评测 安装 优化 设置

finnd . -name "*.php"|xargs sed -i "1i //Modified By XXX"

find . -name "*.php"|xargs sed -i 's/\/\/Modified By XXX//g'


find . -name "*.php"|xargs sed -i "/^<?php/a\//Modified  By XXX"

多出的标记主要分布在 include/set_post_key.php  online.php admin/menu.php  admin-header.php /oj-footer.php oj-header.php 

默认模板在template bs3文件加下,直接执行替换掉加入的标记

 team_generate.php


    $user_id=$prefix.($i<10?('0'.$i):$i);
                        $password=substr(strval(rand(1000,9999)),0,4);  密码改成4位数字

 pdo_query($sql,$user_id,$email,$_SERVER['REMOTE_ADDR'],$password,$nick,$school,$email,$_SERVER['REMOTE_ADDR'],$password,$user_id,$school) ;

数据库中写入昵称时用userid替换默认昵称


 submit.php


// last submit 两次提交间隔60秒


$now=strftime("%Y-%m-%d %X",time()-60);
$sql="SELECT `in_date` from `solution` where `user_id`=? and in_date>? order by `in_date` desc limit 1";
$res=pdo_query($sql,$user_id,$now);
if (count($res)==1){


                $view_errors="You should not submit more than twice in 60 seconds.....<br>";


 vim /soft/hustoj-read-only/core/judge_client/judge_client.cc

#include </usr/local/mysql/include/mysql.h> 绝对路径,mysql开发库位置

#define STD_MB 1572864  // 改大为1.5倍 感谢qwb提供支持
#define STD_T_LIM 2
#define STD_F_LIM (STD_MB<<5)
#define STD_M_LIM (STD_MB<<7)
#define BUFFER_SIZE 5120

编译 ./make.sh

此时检查会发现judeged版本还是老的,是因为在用的文件linux不让复制替换,所以make.sh的最后复制命令未成功执行

手动 cp -rfp  judged /usr/bin/ 


run?的权限 777

data文件权限 同 网页访问权限,可以互相加入组,web权限

DEBUG 的设置为1,可以在编译评测中看到更多信息,judge_client.cc 中修改