特色功能,注意事項,自定義校驗器,版本,
特色功能
通過區域網路自動收取選手程式。
高效率的數據檔案配置工具。
自動選用對應的編譯器來編譯選手程式,也能使用解釋器或直接評測執行檔。
能準確測出選手程式的運行時間和記憶體使用量,並可加入對運行時間和記憶體使用的限制。
自動比較選手程式的輸出和標準輸出的差異,並能將兩者出現差異的具體位置告訴評測者。
支持使用自定義校驗器,可評測有多解的試題。
可對評測結果進行統計分析。
可將評測結果以各種樣式列印或導出。
注意事項
Cena 0.8.1 安裝程式: cena-0.8.1-20110710-setup.exe。如果它崩潰,就用這個補丁 cena-0.8.2-patch.zip 里的檔案覆蓋到安裝目錄。
自定義校驗器
C++自定義校驗器(SPJ)參考代碼:
#include <iostream>#include <cstdio>#define Dataname Name//評測題目的檔案名稱(不含後綴)using namespace std;FILE *fscore,*freport,*fstd,*fin,*fout;int Judge(){ int re=0;//用於返回得分 //在此補充評測代碼,下面為NOI2011Day1T2智慧型車比賽的SPJ代碼 double x,y,dif; fscanf(fstd,"%lf",&x); fscanf(fout,"%lf",&y); dif=(x>y)?(x-y):(y-x); re=dif<=0.000001; re*=10; fprintf(freport,"Std:%.10lf\nYourAns:%.10lf\nDiffer:%.10lf\n",x,y,dif); //返回評測後對話框顯示內容,可無內容 return re;}int main(int argc,char* argv[]){ fscore=fopen("score.log","w");//打開得分檔案 freport=fopen("report.log","w");//打開報告檔案 fstd=fopen(argv[2],"r");//打開測試點標準輸出檔案 int score=atoi(argv[1]);//取得測試點的分數 fin=fopen(DataName".in","r");//原始數據 fout=fopen(Dataname".out","r");//用戶輸出 fprintf(fscore,"%d",Judge());//返回分數 fclose(fscore);//關閉得分檔案 fclose(freport);//關閉報告檔案 return 0;}
版本
2011-08-21 發布0.8.2版本。但願它不再崩潰。(截止2013年8月1日最新版)
2011-07-10 發布0.8.1版本,不再誤報為病毒
2011-07-02 發布0.8版本,解決Windows 7卡死的問題和多核CPU測時間不準確的問題
2008-05-12 發布0.6.3版本
200?-??-?? 發布0.6.2版本
200?-??-?? 發布0.6.1版本
2006-11-29 發布0.6版本
2006-06-11 發布0.5.3版本
2005-05-24 發布0.5.2版本
2005-??-?? 發布0.5.1版本
2005-??-?? 發布0.5版本
2004-12-20 發布0.3.3版本
2004-??-?? 發布0.3.2版本
2004-??-?? 發布0.3.1版本
2004-??-?? 發布0.3版本
2004-??-?? 重新設計用戶界面,並開放原始碼
2004-??-?? Initial release