主/協辦單位聯絡我們臺大首頁臺大計中
參賽辦法

初賽流程初賽違規申訴程序 決賽規則解題標準解釋歷年比賽題目參考
(注意:部分規則可能會有小幅更動。請常查閱最新消息。)

參賽辦法

參賽流程:

參賽資格:

高中組:
  • 以隊為單位,每隊由至多3位在學同校學生組成,並需有一位具該校任教身分之指導老師。
  • 指導老師需負責證明學生之身分及比賽規則之遵守。
  • 每位老師至多可以同時指導5隊。
國中組:
  • 以隊為單位,每隊由至多2位在學同校學生組成,並需有一位具該校任教身分之指導老師。
  • 指導老師需負責證明學生之身分及比賽規則之遵守。
  • 每位老師至多可以同時指導6隊。
※註:自學方案個案處理,且指導老師須具有中學教師在職證明之身分並不得為參賽者之家長,請逕洽主辦單位,主辦單位保留錄取權利。

比賽方式:

  • 初賽於預定之時間上網參賽,並須報名之隊數超過25隊才舉行。
  • 決賽於臺灣大學計算機及資訊網路中心舉辦。
  • 高中組:取前25名之隊伍晉級決賽,每校至多3隊晉級;得另外邀請3隊全女子隊伍參加決賽(至少須答對一題以上含一題)。
  • 國中組:取前25名之隊伍晉級決賽,每校至多5隊晉級;得另外邀請3隊全女子隊伍參加決賽(至少須答對一題以上含一題)。
※註:自學者每組最多錄取3隊進決賽,主辦單位保留錄取權利。

比賽環境:

  • 初賽評分環境(server)
    作業系統:ubuntu 16.04.01 LTS
    比賽平台:Kattis
    比賽語言:C/C++
    編譯器:gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.2)
    註:比賽平台可先參考 https://open.kattis.com/ 熟悉使用。參賽者需注意程式編譯器版本差異以避免程式碼無法通過編譯
  • 決賽評分環境(server)
    作業系統:ubuntu 16.04.01 LTS
    比賽平台:Kattis
    比賽語言:C/C++
    編譯器:gcc 5.4.0 (Ubuntu 4.8.4-2ubuntu1~16.04)
  • 決賽比賽環境(client)
    作業系統:Windows 7 64bit
    編譯器:MinGW TDM-GCC, 4.9.2, 32bit
    編輯器(IDE):a. Dev C++ 5.11、b. Code::Blocks 16.01、c. gVim 8.0.2、d. notepad++ 6.9.2、e. Sublime Text 2.0.2 (以上軟體僅提供英文介面)

比賽規則:

  • 比賽途中,會監看網路使用情形,且在比賽結束後會閱讀source code,以避免任何舞弊行為。舞弊之隊伍將被取消參賽資格,並由他隊依排名遞補。
  • 初賽時須自行準備網路備用方案(只要可以上網地方皆可,沒有場地限制)。
  • 競賽時間內,參賽者除與同隊隊員或本競賽工作人員聯絡外,不得與其他人員以任何方式交談。
  • 參賽者可攜帶書籍、手冊、紙本式程式碼,但不可攜帶任何機器可讀取的軟體或資料。
  • 參賽隊伍如有干擾比賽正常進行之情事,主辦單位得立即停權,以維持比賽順利進行。
  • 本參賽規則如有未盡事宜,主辦單位保留修改之權利。

比賽題目參考:

評分方式:

  • 總答對題數較多者為優勝。
  • 答對題數相同者,以作答耗用時間(分鐘計算)較少者為優勝。
  • 答對的題目中,每送一次錯誤解答就加20分鐘解題時間。
→Top

初賽規則

→Top

初賽違規申訴程序

因初賽採網路模式進行,為避免參賽隊伍有程式碼抄襲之情事,初賽結束後將對參賽隊伍所呈交之程式碼進行審慎檢查。如發現有舞弊情事,主辦單位會以電子郵件(E-mail)及手機簡訊方式通知參賽隊伍之指導老師;參賽隊伍可在規定時間內由參賽學校正式行文到主辦單位提出申訴申請,並敘明申訴理由;主辦單位收到申訴文件後應召開會議,聘請相關專家學者進行審議,回覆判定結果。如舞弊情事確認,為維持比賽公平性及參賽者之權利,舞弊之隊伍將被取消參賽資格;如申訴成功,將依參賽隊伍之初賽排名,必要時以增額方式參加決賽。

申請程序說明:

  1. 程序C.通知指導老師:因初賽違規將以電子郵件(E-mail)及手機簡訊方式於初賽當天通知參賽隊伍之指導老師,故報名資料請務必如實填寫,如填寫不正確或有缺漏將影響到自身權益。
  2. 2. 程序E.申訴申請-參賽學校正式行文(初賽後3天內)及F.主辦單位收件(初賽後5天內):申訴申請表請於線上申請後下載表格(註:本表請於2017年11月21日中午12點前先以傳真方式提出申請始受理申請,請傳真後打電話到02-33665047確認是否收到傳真;正式公文及本表之用印申請正本須於2017年11月23日中午12點前寄達始完成申請程序。)

初賽違規申訴程序流程圖

→Top

決賽規則

比賽規則:

  1. 除了觀看比賽成績及使用介面程式之外,禁止使用網路。
  2. 在比賽期間,除了同隊之參賽者及大會工作人員之外,禁止和其他人交談。
  3. 參賽者可以攜帶參考書籍及筆記,但不可以攜帶具計算功能之機器、或機器可讀之資料。
  4. 每隊使用一台電腦。
  5. 比賽電腦問題請找考場組工作人員、題目問題請直接於比賽介面詢問。
  6. 提供餐點及飲料於試場走廊上,可自行食用,但請勿帶入考場食用。
  7. 禁止任何破壞比賽場地秩序、干擾他隊解題之行為。
  8. 參賽隊伍如有干擾比賽正常進行之情事,主辦單位得立即停權,以維持比賽順利進行。

計分方式:

  • 總答對題數多者為優勝。
  • 若答對題數相同,以作答耗用時間(以分鐘計算)較少者優勝。
  • 答對的題目中,每送一次錯誤解答,就加上 20 分鐘解題時間。

注意事項:

  • 不可攜帶任何電子通訊器材進入比賽場地。
→Top

解題標準解釋

可能的 Judge 結果

當 Kattis judge 了你的 submission 之後,你會收到 submission 的 judge 結果。 以下是所有可能的 judge 結果。

  1. Accepted
  2. Compile Error
  3. Run Time Error
  4. Time Limit Exceeded
  5. Wrong Answer
  6. Output Limit Exceeded
  7. Memory Limit Exceeded
  8. Judge Error

有時候,從judge結果獲得額外的資訊能讓你更好去找到bug。這些資訊可以分別從submission各自的頁面看到(可以從submission清單中點擊該submission的ID連過去)。

  1. Accepted
    Accepted 是指 Kattis 對你的程式感到滿意,你正確地解開了這題,恭喜你!
    Accepted 不會產生罰時。
  2. Compile Error
    Compile Error 是指 Kattis 無法編譯你的程式,為了幫助你找到問題,你會看到編譯器輸出的額外訊息。比賽環境的編譯器與參數設定可以在 technical info 頁面找到。
    Compile Error 不會產生罰時。
  3. Run Time Error
    Run Time Error 是指你的程式在執行過程中,因為我們的測試資料而造成非預期的結束。 更精確地說程式結束時的回傳值非零 (non-zero exit),或是有 exception 發生。 注意因為使用程式結束的回傳值 (exit code) 來決定你的程式是不是正常的結束,所以請確定你的 main 函式不要回傳非零的值。
    Run Time Error 會產生罰時。
  4. Time Limit Exceeded
    Time Limit Exceeded 是指你的程式執行的時間過長,最後超過執行時間限制時被終止。 請注意,所有輸出的結果在程式正確結束之前都不會被檢查,所以拿到 Time Limit Exceeded 不代表你的程式目前產生的結果是正確的。
    Time Limit Exceeded 會產生罰時。
  5. Wrong Answer
    Wrong Answer 是指你的程式在規定的時間內結束,但是你的答案不正確。 因為沒有更多的資訊, 所以這通常是個最令人沮喪的結果。 有時候唯一的方法就是自己生些測試資料來嘗試找到 bug。
    Wrong Answer 會產生罰時。
  6. Output Limit Exceeded
    Output Limit Exceeded 意思是你的程式產生過多的輸出,以致你的程式被強迫終止,以確保輸出不會佔滿我們的硬碟。 請確定你沒有困在無窮迴圈內並且一直輸出東西,或是有正確地處理輸入。
    Output Limit Exceeded 會產生罰時。
  7. Memory Limit Exceeded
    Memory Limit Exceeded 是指你的程式嘗試使用了超過題目規定的記憶體上限。 注意使用超過的記憶體有時候會造成 MLE 之外的其他的錯誤。 一個例子是,當你嘗試在 C 中使用 malloc , 但是記憶體不足時,會回傳 null pointer,如果你沒有檢查而直接使用該變數,可能會造成 Run Time Error。 同樣如果你在 C++ 裡面使用 new 去配置過多的記憶體,會造成 SIFABRT(6) signal 並讓你獲得 Run Time Error。
    Memory Limit Exceeded 會產生罰時。
  8. Judge Error
    Judge Error 是指你找到了 Kattis 的 bug (或錯誤的設定),不好意思QAQ! 請直接聯絡我們(當對題目或是有其他問題的時候,請使用 Clarifications 功能聯繫裁判。如果是使用的電腦、列印等等系統相關的問題,請洽周圍的工作人員。 當然,如果無法登入 Kattis,也請詢問周圍的工作人員幫忙。)。
    Judge Error 不會產生罰時。
→Top