CMS

出自TFcisWiki
跳至導覽 跳至搜尋

官方文件:https://cms.readthedocs.io/en/v1.4/

建立競賽

  1. 點擊 Administration
  2. 在 Contests 段落,點擊 (create new contest...)
  3. 在 Name 輸入英文競賽名稱,此欄位不會顯示給參賽者
  4. 點擊 Submit

設定競賽

以下說明是根據預設設定需要修改的欄位,其餘欄位不需更動。

欄位 欄位說明 操作說明
Description 中文競賽名稱 顯示於競賽介面左上角
Allowed programming languages 參賽者可以使用的程式語言 僅勾選以下 4 項,其餘取消勾選
  1. C++11 / g++
  2. C++14 / g++
  3. C++17 / g++
  4. C11 / gcc

請務必測試每個語言皆能正常編譯

Allow user tests 開啟「線上測試」介面,允許參賽者在伺服器上編譯並執行自訂輸入 視競賽決定是否勾選
Token mode 設為 Disabled
Start time 競賽開始時間 注意時區為 UTC,為本地時間 -8 小時,建議於準備時期設為未來日期,在競賽開始前才設為正確時間
End time 競賽結束時間 同上
Minimum interval between submissions 上傳時間間隔 應設為空字串,不對所有題目進行限制,應對個別題目限制

設定題目

如果使用 TPS 格式,通常匯入後無需在 CMS 管理介面進行設定。以下說明手動新增題目需設定的欄位。

Task configuration
欄位 欄位說明 操作說明
Name 題目英文名稱 顯示於:
  1. CMS 競賽概況的題目列表。
  2. CMS 題目敘述。
  3. CMS 系統內部用來識別題目的 Primary key
    • 由於同一 CMS 系統上的名稱無法重複,若與其他競賽題目衝突[1],建議加上競賽名稱的英文縮寫作為前綴(例如「2022P-」)。
Title 題目中文名稱 顯示於:
  1. CMS 競賽概況的題目列表。
  2. CMS 題目敘述頁面。
Feedback level 對參賽者顯示完整評測結果 設為 Full
  • Restricted:僅顯示第一筆非 AC 結果(及前面的所有 AC 結果)
  • Full:顯示所有結果
Token mode 設為 Disabled
Minimum interval between submissions 上傳時間間隔 視比賽而定
Score mode 計分模式 應設為 Use the sum over each subtask of the best result for that subtask across all submissions (IOI 2017-)
Datasets
欄位 欄位說明 操作說明
Time limit 時間限制 單位為秒
Memory limit 記憶體限制 單位為 MiB
Task type 題目類型 通常為 Batch
Score Type 計分類型 通常為 GroupMin
Score Parameters 分數參數 參見Score Parameters
Test cases 測資 參見Upload testcases

參考資料

Score Parameters

分數參數格式為 [[m1, t1], [m2, t2], ...] ,根據你命名測資檔的方式,分為以下兩種格式。

可參考:https://cms.readthedocs.io/en/v1.4/Score%20types.html#groupmin

流水號

適用於檔名依序命名為 1, 2, 3...。

tn 表示依序號使用的測資數量,前 t1 筆測資配分為 m1,接下來 t2 筆測資配分為 m2,以此類推。

例如 [[20, 10], [30, 20], [50, 30]] 表示:第 1 ~ 10 筆測資 20 分、第 11 ~ 30 筆測資 30 分、第 31 ~ 60 筆測資 50 分。

依測資點分組

適用於檔名命名為 「a-b」,a 為測資點,b 為該測資點的流水號,例如 1-02 表示第 1 個測資點的第 2 筆測資。

tn 為一正規表達式,例如 [[20, "1-.+"], [30, "2-.+"], [50, "3-.+"]] 表示:第 1 個測資點 20 分、第 2 個測資點 30 分、第 3 個測資點 50 分。

如果需要讓該筆子任務的測資直接包含其他子任務,可用正規表達式方式達成。

Upload testcases

點擊 Add multiple testcases 後會進到上傳測資介面,測資應預先準備於一個資料夾內,建議輸入檔副檔名為 .in,輸出檔副檔名為 .out,並壓縮成 zip 檔。

欄位 欄位說明 操作說明
Archive 壓縮檔 選擇壓縮檔
Public 是否公開測資點(並非公開測資內容) 應勾選
Overwrite existing testcases 覆蓋相同檔名測資 視情況勾選,通常更新測資時需勾選
Input file names template 輸入檔命名規則 通常為 *.in
Output file names template 輸出檔命名規則 通常為 *.out

上傳限制

上傳限制為參賽者上傳程式碼答案的相關限制,通常為連續兩次上傳的間隔時間限制,亦有可能包含總上傳次數的限制。

上傳限制應根據競賽性質設定,對於資訊學科能力競賽校內選拔,初賽可比照南區賽,複賽比照全國賽。其他競賽可參考國際資訊奧林匹亞競賽(IOI)等重要競賽,以下列出重要競賽的規定以供參考:

  • IOI 2009 ─ 似乎無時間限制,總次數 50 次。[1]
  • IOI 2010 ─ 似乎無限制。[2]
  • IOI 2012 ─ 間隔 1 分鐘,總次數 64 次。[3]
  • IOI 2013-2014 ─ 間隔 1 分鐘,總次數 100 次。[4][5]
  • IOI 2016 ─ 間隔 1 分鐘,競賽最後 15 分鐘解除限制,總次數 100 次。[6]
  • IOI 2017-2022 ─ 間隔 1 分鐘,競賽最後 15 分鐘解除限制,總次數 50 次。[7][8][9][10][11][12]

參考資料