決賽
在決賽中,兩個組別的參賽者都將參與實習測試。測試時間為 3 小時。未能於報到時間抵達編配之比賽場地的參賽者將被取消資格,參賽者不得提早離場。
試卷將包含 4 道編程題目,每題 100 分。試卷滿分為 400 分。每道題目將進一步分為一個或多個子任務。每個子任務的分數可能不同。
參賽者只會收到在提名表格中選擇的語言版本的紙本試題。但是,參賽者可以通過更改 HKOI 網上評測系統(HKOI Online Judge;「網上評測系統」)的顯示語言設定來閱讀另一語言版本。口頭指示將以廣東話和英語提供。
除提供的軟件(例如內置計算機工具)外,參賽者在比賽中不得使用任何書面或電子資源(例如字典、計算機)。
提交答案及評審
參賽者應使用允許的編程語言之一編寫程式來解答題目。他們應該在比賽時間內通過網上評測系統提交他們的答案源代碼。參賽者每 60 秒最多可提交一次,每題最多可提交 50 次。
提交答案後,網上評測系統將編譯參賽者提交的源代碼,然後使用一組參賽者不知道的數據來評估編譯後的程式。評測完成後(通常在幾分鐘內),參賽者將收到有關提交的評測結果,包括每個子任務中遇到的第一個錯誤類型(如有)。要獲得子任務的分數,參賽者的程式必須對該子任務中的所有測試數據都正確。參賽者的最終分數將是已解決或部分解決的子任務所得分數的總和。
分數有可能因測試數據更改或參賽者所提交答案的不確定性而改變。不確定性可能是由於使用隨機數生成器而有意產生的,也可能是由於程式錯誤或邊緣運行時間而無意產生的。裁判保留對提交答案重新進行評測的權利,最終分數將以最終評測結果為準。
即使評測結果延遲或無法提供,也不會給予額外時間。
編程語言及環境
參賽者應使用 C++ (C++20) 實現他們的答案。
Python (3.10 或以上版本) 亦可作為次等編程語言使用。並非所有任務和子任務都可以使用 Python 解決。
工作站
每個參賽者將獲編配一台工作站以連接比賽虛擬主機。參賽者不得跳出虛擬主機環境以操作工作站。
雖然會提供鍵盤和滑鼠,但我們建議參賽者自備一個鍵盤及一隻滑鼠於比賽時使用。無線鍵盤/滑鼠、含可編程按鍵、需安裝驅動程式之鍵盤/滑鼠、及裝有「青軸」(或等同)的機械鍵盤均不可使用。裁判團保留檢查及拒絕任何鍵盤和滑鼠之權利。
虛擬主機
中央處理器:4 個 vCPU(以 2 個物理核心上的 4 個超線程實現)。基本頻率 2.5 GHz 或更高。
內存:8 GB 或更高
磁碟空間:至少 2 GB 可用磁碟空間
已安裝軟件
– 操作系統:Debian 13 “Trixie”
– 顯示管理系統:XFCE4
– Google Chrome,用於連接網上評測系統及其內置的「Code」IDE
– Visual Studio Code(包含 C++、Python 和 Code Runner 插件)
– g++12
– python3.10 或以上
– gdb、vim、nano、zip、unzip、cppreference-doc-en-html
虛擬主機中軟件版本可能與用於評測的版本不同。提交的源程序檔將會以網上評測系統「說明」頁所示之編繹器及選項進行編繹。
查詢
比賽時,參賽者可透過「問答」功能,要求大會裁判澄清題目的文字描述。監考員將使用以下其中一種方式回答澄清問題:
– 「No Comment/Please refer to task statement 無可奉告/請見題目」
– 「Invalid Question (not a Yes/No Question) 無效問題(不是是非題) 」
– 「Yes 是」或「No 否」——僅當題目說明確實包含錯誤或嚴重歧義時。在這種情況下,將向所有參賽者公佈澄清內容。
協助
如參賽者欲前往洗手間,他們必須先用「問答」功能提出要求。獲監考員批准後,方可前往洗手間。如監考員認為提出次數過多,或有其他參賽者在洗手間,要求可被拒絕。未經批准擅自離開座位將視為作弊行為。