決賽
決賽為實習測試,時限為三小時,未能於報到時間抵達編配之比賽場地的參賽者將被取消資格,參賽者不得提早離場。
試題
試卷將有數道題目,每道題目的分數未必相同。每道題目分為子任務,每道子任務的分數亦未必相同。
決賽時,參賽者只會獲發在提名表格上選擇了的語言版本,惟亦可在比賽時改變網上評測系統之語言以閱覽另一語言之試題。
遞交答案及評審
每位參賽者必須將他/她的答案源程序檔透過比賽網站提交。裁判將會編譯參賽者所提交的源程序檔,然後以多組數據測試該程式,測試所用的數據將不會為參賽者知曉。裁判團將負責訂定有關的評分標準。參賽者提交的程式須通過一個子任務的所有測試數據才可獲得該子任務的分數。
參賽者提交答案後將獲得反饋,包括每子任務的首個錯誤(如有)。參賽者的總分為完成或部分完成之子任務分數總和。每題在 60 秒內最多可提交一次,每題最多可提交 50 次。
得分有機會因測試數據更變或參賽者答案之不確定性而改變。使用隨機數生成器可有意地導致不確定性,而程序錯誤或邊緣運行時間亦可無意地導致不確定性。裁判保留重新測試所交答案之權利,而最後一次測試之得分將為最終分數。
編程語言
決賽時參賽者應選用 C++ (C++20) 作答配以 g++-12 作答。
唯參賽者亦可使用以下「次等」編程語言及開發軟件,次等編程語言僅為試驗性質,本會不保證試題能以此等編程語言解決,亦不保證提供之軟件能正常操作,使用此等編程語言之參賽者須自行承擔風險。
次等編程語言 |
次等開發軟件 |
Pascal |
Free Pascal 3.0.4 |
C (C99) |
gcc-12 |
Java 8 |
JDK 1.8.0 |
Python 3.10 |
Python 3.10.7 |
不適用 |
HKOI 網上評測系統「Code」功能 Visual Studio Code (連同 Pascal, C/C++, Python, Java 及 Code Runner 插件) |
工作站及資源
每個參賽者將獲編配一台工作站以連接比賽虛擬主機。參賽者不得跳出虛擬主機環境以操作工作站。
參賽者不得使用其他實體或電子資源。
虛擬主機
硬件
中央處理器: 4 vCPUs (以 2 核心 4 線程實現),基本頻率 2.5 GHz 或以上。
記憶體: 8 GB 或以上
硬碟空間: 不少於 2 GB 可用空間
自備鍵盤及滑鼠
考慮到衞生因素,我們建議參賽者自備一個鍵盤及一隻滑鼠於比賽時使用,但無線鍵盤/滑鼠、需安裝驅動程式之鍵盤/滑鼠、及裝有「青軸」(或等同)的機械鍵盤均不可使用。裁判團保留檢查及拒絕任何鍵盤和滑鼠之權利。
軟件
– 操作系統: Debian 10 “Buster”
– 顯示管理系統: XFCE4
– Google Chrome
– 「編程語言」段列出之軟件
– gdb, vim, nano, zip, unzip, cppreference-doc-en-html
提交的源程序檔將會以網上評測系統「說明」頁所示之編繹器及選項進行編繹。
查詢
比賽時,參賽者可透過「問答」功能,要求大會裁判澄清題目的文字描述。若須作出澄清,裁判會向全體參賽者作出同樣宣佈,澄清內容不可與答案有關。
如有任何疑問,參賽者須於比賽完畢後五分鐘內且離開比賽場地前向總裁判提出。所提出的疑問,將由裁判團作最後裁決。
協助
如參賽者欲飲水或前往洗手間,他們必須先用「問答」功能提出要求。獲監考員批准後,方可飲水或前往洗手間。如監考員認為提出次數過多,或有其他參賽者在洗手間,要求可被拒絕。未經批准擅自飲水或離開座位將視為作弊行為。