# [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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.