HUSTOJ開啓OI判題模式(入坑)

HUSTOJ開啓OI判題模式

從國慶的OI培訓就一直想給OJ開啓OI模式,後來升級了高性能服務器後,就更加堅定了對非ACM比賽和練習開始採用更加有細粒度的OI計分模式。

Step1: judge.conf裏面開啓OI_MOD 1

vim /home/judge/etc/judge.conf

重判後雖然可以顯示WA的比例,但是對於AC代碼無限Running&Judging!

Step2:更新數據庫結構(感謝浙傳張浩斌老師的指導)

更新一下數據庫結構:solution裏有個pass_rate字段 從float(2,2)改成float(3,2)

mysql -uroot -p
//這裏輸入sql的密碼
use jol;
alter table solutions set pass_rate float(3,2);

結果失敗!提示in_date設置默認值0000-00-00 00:00:00無效,如果設置爲timestamp則判題時間計算錯誤

Step 3:修改sql_mode常量 允許日期設置零值

去掉NO_ZERO_IN_DATE,NO_ZERO_DATE這兩種模式以及ONLY_FULL_GROUP_BY(不去掉報錯無法更新,很雞肋的東西,刪掉算了),語句如下(注意:set前不要加別的語句):

select @@sql_mode ;
//輸出會發現 NO_ZERO_IN_DATE,NO_ZERO_DATE,
SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

刪掉時間的約束,重新執行步驟2,重判競賽,完美支持OI_MOD,

select @@GLOBAL.sql_mode;
set @@GLOBAL.sql_mode = '';
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章