# [CMS Online Judge] 使用教學 :::info 目錄: * [[CMS Online Judge] Docker安裝教學](/WKsC33XYRme4sM-Kkst_XA) * [[CMS Online Judge] 完整安裝教學](/qLOLKTjlQ6ivpN0vg4yb-g) * [[CMS Online Judge] 使用教學](/vzeJxoVGQPipzqd3R0_s9w) * [[CMS Online Judge] 互動題、Checker](/cA70QEPVRROxvTxYujMTcw) * [[CMS Online Judge] 給系統管理者的一些建議](/EOf5VvLOSM6BTjbVfb7vRg) [Github連結](https://github.com/erichung09060/cms) ::: ## 後台管理 網址 : `localhost:8889`,或是把localhost換成該台主機的ip。 首先會看到的是登入介面  帳號為`admin`(也可以自己給定),密碼則會由系統隨機生成。  進去後左側會有Contest、Tasks、Users、Teams,在開啟比賽前需要在Tasks及Users中新增題目及使用者,建立好後再新增Contest,並把剛新增的使用者及題目加到Contest中。  ### User 應該都還蠻淺顯易懂的,`Timezone`+8為台灣的時區。  ### Task `Name`不能打中文但`Title`可以,`Statements`可以放題目敘述,其他都不常用略  比較需要注意的是下方Dataset的部分  * `Time limit` : 時間限制,通常設1秒,可依題目需求做調整。 * `Meomry limit` : 記憶體限制,通常設256Mib,可依題目需求做調整。 * `Task Type` : * `Batch` : 直接比對答案 * `Communication` : 參賽者的code會跟judge互動 * 其他不常用略 * `Compilation` : 可設定是否需要引入Loader Code * `I/O` : 注意要留空白才會使用stdio * `Output evaluation` : 可決定是否要用checker比對 * `Managers` : 可上傳`checker`、`manager`、`stub`、`grader` * `Score Type` : * `Sum` : 總分為所有測資獲得的分數總和 * `GroupMin` : 可設定測資的Group,同個Group中的測資要全對才給分,總分為所有Group的分數總和 * 其他不常用略 * `Score parameters` : `Score Type`不同參數也會不同 * `Sum` : 一個數字代表每一個測資能獲得的分數,通常是100/測資數 * `GroupMin` : 測資的Group及分數,例如`[[40, 10], [60, 20]]`代表前10個測資為一組,分數40分,接下來的20的測資為一組,分數60分 * 其他不常用略 * `Test cases` : 要記得把Public打勾才會啟用此測資 > 上面有些看不懂沒關係,因為更完整的說明在[CMS Online Judge 互動題、Checker](/cA70QEPVRROxvTxYujMTcw) :::spoiler [補充] 測資的Dependency 當測資有需要設dependency的時候可以使用正規表達式來設定通過哪些測資會得幾分,並加入到`Score parameters`中,格式如下:  `[[0, "(00[0-2])"], [20, "(00[3-9]|01[0-3])"], [80, "(00[0-9]|01[0-9]|020)"]]`代表: * 通過000-002的側資可以獲得0分 * 通過003-013的側資可以獲得20分 * 通過000-020的側資可以獲得80分 正規表達式則可以使用這個網站生成 : https://www.regex-range.com  (記得勾第一個就好) ::: <br> 進到一場Contest後,可以在目錄的General中設定比賽的詳細資訊(如比賽的描述、開放的程式語言、上傳時間間隔),還可以點擊左側的Users及Tasks來把剛剛建立的使用者及題目加到比賽中。  ## 參賽者介面 網址 : `localhost:8888`,或是把localhost換成該台主機的ip。 首先一樣會先看到登入介面,帳號和密碼為剛剛有加入比賽的User。  在Overview中可以看到所有題目的詳細資訊。  點擊左側每一題的Submissions後會到上傳程式碼的頁面,點選Choose File並按Submit後即可上傳程式碼。  ## 計分板 網址 : `localhost:8890`,或是把localhost換成該台主機的ip。 計分板為即時更新,無需一直按F5。 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up