hznuoj是杭州師範大學acm程式設計競賽實驗室幾位大佬在hustoj基礎上開發的乙個oj平台,介面比較友好,在github基於gpl協議開放專案源**。本教程介紹管理端關於試題和比賽建立修改的操作說明。
使用具有助教許可權以上的賬號登陸hznuoj,點選admin進入管理後端,選擇problems中的add problem新增題目
進入後台
新增題目
編寫試題的標題,題目描述,時間記憶體限制,輸入描述,輸出描述,點選add a sample可以新增乙個新的樣例資料,remove the last sample可以移除最後乙個樣例資料,show after trying可以設定這個樣例在幾次嘗試後會被展示(一般是某些題目的不容易被想到的坑點,非必須),如果是 0 的話表示直接出現在題目當中,更多的測試資料可以不在這裡寫,而是等到題目建立後繼續新增。
編寫題目描述
新增樣例資料
當需要有題目描述的提示或者對樣例的解釋可以在hint中編寫(非必需),當題目是special judge時將special judge選擇為y。題目作者一般為你的姓名,source相同的題目會放在乙個題目集當中,可以把一場比賽/考試的新題目命名為同乙個source。
新增題目解釋和作者試題資訊
點選submit就可以建立這個試題了。
當建立題目完成後,可以進入題目介面點選test data繼續新增題目的資料,測試資料的命名為 *.in,*.out,二者一一對應,不可重複,為了便於後續的驗題,建議命名為數字遞增的形式,如第乙個測試資料輸入命名為test1.in,輸出命名為test2.out,同時為了便於學生對於不同層次的資料反饋的錯誤找到自己的**的bug,建議將簡單、資料範圍小的資料放在前面,將含有特殊邊界條件、資料量大的資料放在後面。在輸入框中輸入檔名點選create建立乙個測試資料的輸入/輸出,並將你出的資料輸入/輸出複製到對應的檔案當中儲存。
測試資料
新增測試資料
編寫測試資料
對於乙個題目來說,少不了驗題來保證其正確與嚴謹,當在建立題目後要修改題目描述可以點選edit進入編輯介面,這時的介面顯示和建立題目(第二部分)時一樣,編輯完成後選擇submit提交更新。當發現測試資料有誤需要修改可以執行與上面第三部分相同的操作流程。
修改題目
暫未編寫,可以參考其他使用special judge題目的判題編寫方式編寫題目,資料與測試程式。
新出的題目預設是 reserved 狀態,意味著沒有出題許可權的賬號是無法檢視提交這些題目,這是為了避免比賽的題目外洩或者沒有出好的題目就被ac。當乙個題目已經檢查無誤並且確認不是比賽用題可以在後台改變題目狀態change status將它放到公開的題目集當中。
放出題目
當題目建立好之後就可以用它來新增比賽了(需要使用有這個許可權的賬號)。在後台點選contest-add a contest建立一場新的比賽,編寫比賽標題,開始結束時間,比賽型別(檢視faq後選擇),比賽描述建立一場新的比賽。比賽題目要在建立完成之後才能新增。
建立比賽
比賽題目點選+號按鈕新增,並填寫正確的題號,合理的題目分數,可以使用的語言。新增完成後點選submit提交更新。
新增比賽題目
已經建立好的比賽也可以在比賽介面點選edit修改,編輯介面操作與上圖相同。
當使用管理許可權的賬號時請注意自己的操作,許可權越大意味著責任越大,合理使用,不要隨意濫用,不可將賬號未經授權外借或用於作弊,否則將被收回許可權。
題目 H 小明的比賽
題目描述 小明的演算法競賽水平很高,他經常參加網上的比賽。比賽的規則是這樣的 要在規定時間內解決 n 道題,解決時間越晚失去的分數就越多。當然如果有錯誤提交還會扣額外的分數。為了簡化題目,我們假設小明所有題目都可以一遍 ac。小明實在是太強了,以致於他看完所有題目就都會做了。剩下的就是把它們寫出來的...
程式比賽的題目回憶
有這樣乙個選擇題 如cc繼承了yy cc裡面宣告了乙個私有的成員變數賦值 string name zhangsna 有乙個main函式,new 之後,輸出物件名.getname yy是它的子類。它也有個私有成員變數。賦值 string name lisi 題目是,執行結果是 zhangsna lis...
某比賽的某些題目
這裡我只寫一些認為應該寫報告的題目。像那種5分鐘敲出 的題就不寫了。感謝 xianbin5組織這場比賽,orz 題目1 給一些資料,建議一顆排序二叉樹。然後找到某個節點的祖父節點 父節點的父節點 n 50000 題解 描述很簡單,而且可以很簡單的敲出來。但是注意資料量。所以這裡要用到特殊的東西。乙個...