一般規則

香港電腦奧林匹克競賽 2021/22 分初賽及決賽進行。試題將側重於解難、基本算法、數據結構及編寫程式技巧。

香港電腦奧林匹克競賽 2021/22 按參賽者年齡分為兩個組別。於二零零五年七月一日或以後出生之學生可參加初級組,而於二零零二年七月一日或以後出生之學生可參加高級組。每名學生只可參加其中一組。

每所香港日間中學可提名最多十六名學生參加香港電腦奧林匹克競賽 2021/22,當中包括名高級組及名初級組學生。

比賽題目設有中英文版本。指示語言將採用廣東話。不懂廣東話的參賽者可要求提供普通話或英文指示語言。

參賽者應注意本會或會拍攝照片及將其公開作宣傳用途。

防疫措施及健康申報

參賽者須仔細閱讀及遵從我們的防疫措施。他們須檢查體溫,並攜帶填妥之健康申報表到比賽場地。 作出虛假,不完整或誤導性聲明的參賽者將被取消比賽資格。

應變計劃

若新型肺炎再次在本地爆發以致教育局宣佈暫停面授課堂,除非另行通知,比賽將作以下改變:
初賽: 延期直至面授課堂恢復
決賽: 延期直至面授課堂恢復或改於網上進行。若網上進行,學生將須以串流形式將電腦畫面及鏡頭畫面分享予監考員,而這些畫面將被錄影。合資格的決賽選手可自行選擇接受網上作賽或是退出,學校及教師應在提名學生時考慮此可能性,並尊重學生是否參加網上決賽之決定。

初賽

初賽以筆試形式進行,參賽者須完成一份包含選擇題及短答題的試卷。初賽為時一小時三十分鐘,未能於報到時間抵達編配之比賽場地的參賽者將被取消資格,參賽者不得提早離場。

除基本文具外,參賽者不得使用其他任何輔助工具。(包括紙張及計數機)

初賽時使用的程序編寫語言為 Pascal (Free Pascal)[注意事項]、 C (C99)[注意事項] 及 C++ (C++98),三種語言的程序碼將會一同列出。參賽者須於答題紙上表示作答語言。 (只限選用其中一種)

每個年齡組別的出線分數為,在每組最多 90 名參賽者獲選進入決賽的前提下最低的分數。

決賽

決賽為實習測試,時限為三小時,未能於報到時間抵達編配之比賽場地的參賽者將被取消資格,參賽者不得提早離場。

編程語言

決賽時參賽者應選用 C++ (C++11) 配以 Dev-C++ 5.11 (TDM-GCC 4.9.2) 開發軟件作答。

唯參賽者亦可使用以下「次等」編程語言及開發軟件,次等編程語言僅為試驗性質,本會不保證試題能以此等編程語言解決,亦不保證提供之軟件能正常操作,使用此等編程語言之參賽者須自行承擔風險。

次等編程語言 次等開發軟件
Pascal Free Pascal 3.0.4
C (C99) Dev-C++ 5.11 (TDM-GCC 4.9.2)
Java 8 JDK 1.8.0
Python 3.8 Python 3.8.10
不適用 HKOI 網上評測系統「Code」功能
Visual Studio Code (連同 Pascal, C/C++, Python 及 Java 插件)

工作站及資源

每個參賽者將獲編配一台工作站以連接比賽虛擬主機。參賽者不得跳出虛擬主機環境以操作工作站。

參賽者不得使用其他實體或電子資源。

虛擬主機

硬件

中央處理器: 4 vCPUs (以 2 核心 4 線程實現),基本頻率 2.5 GHz 或以上。
記憶體: 8 GB 或以上
硬碟空間: 不少於 2 GB 可用空間

自備鍵盤及滑鼠

考慮到衞生因素,我們建議參賽者自備一個鍵盤及一隻滑鼠於比賽時使用,但無線鍵盤/滑鼠、需安裝驅動程式之鍵盤/滑鼠、及裝有「青軸」(或等同)的機械鍵盤均不可使用。裁判團保留檢查及拒絕任何鍵盤和滑鼠之權利。

軟件

– 操作系統: Windows Server 2019
– Google Chrome
– 「編程語言」段列出之軟件

已知問題:
1. Free Pascal “User Screen (Alt+F5)” 無法正常運作
2. Visual Studio Code C 插件無法運作

提交的源程序檔將會以網上評測系統「說明」頁所示之編繹器及選項進行編繹。

試題

試卷將有數道題目,每道題目的分數未必相同。每道題目分為子任務,每道子任務的分數亦未必相同。

遞交答案及評審

每位參賽者必須將他/她的答案源程序檔透過比賽網站提交。裁判將會編譯參賽者所提交的源程序檔,然後以多組數據測試該程式,測試所用的數據將不會為參賽者知曉。裁判團將負責訂定有關的評分標準。參賽者提交的程式須通過一個子任務的所有測試數據才可獲得該子任務的分數。

參賽者提交答案後將獲得反饋,包括每子任務的首個錯誤(如有)。參賽者的總分為完成或部分完成之子任務分數總和。每題在 60 秒內最多可提交一次,每題最多可提交 50 次。

得分有機會因測試數據更變或參賽者答案之不確定性而改變。使用隨機數生成器可有意地導致不確定性,而程序錯誤或邊緣運行時間亦可無意地導致不確定性。裁判保留重新測試所交答案之權利,而最後一次測試之得分將為最終分數。

查詢

比賽時,參賽者可透過「問答」功能,要求大會裁判澄清題目的文字描述。若須作出澄清,裁判會向全體參賽者作出同樣宣佈,澄清內容不可與答案有關。

如有任何疑問,參賽者須於比賽完畢後五分鐘內且離開比賽場地前向總裁判提出。所提出的疑問,將由裁判團作最後裁決。

協助

如參賽者欲飲水或前往洗水間,他們必須先用「問答」功能提出要求。獲監考員批准後,方可飲水或前往洗水間。如監考員認為提出次數過多,或有其他參賽者在洗水間,要求可被拒絕。未經批准擅自飲水或離開座位將視為作弊行為。

處分、取消比賽資格

參賽者如違反下列任何本比賽之規則,本會可取消其比賽資格或作扣分處分:
(0) 作弊、試圖作弊或協助他人作弊
(1) 不附合參加組別之參賽條件
(2) 其個人資料與提名表格不符
(3) 比賽前以不正當方法獲悉題目內容
(4) 比賽期間有未經許可之物品(實物或電子)在可接觸之範圍,不論等物品可否用作作弊
(5) 意圖或以任何方式與他人通訊,以謀取不當的利益
(6) 未經監考員許可而擅自離開座位
(7) 干擾比賽電腦、其他參賽者之作答、網路及/或其他系統
(8) 於比賽前、比賽時或比賽後違反HKOI網上評測系統之使用條款
(9) 未經許可即翻閱試題或於比賽完結時裁判宣布停止作答後仍繼續作答,手持文具或改動答卷
(10) 違反監考員的合理指示
(11) 對測試數據進行逆向工程 (詳見 IOI 規則)
(12) 無法滿足監考要求 (若決賽須改為網上進行時適用)

嚴重違規者可被永久禁止參加所有 HKOI 相關活動。

初賽時,不按指示填寫答題紙之參賽者會被扣分。每事項扣不少於全卷滿分百分之一之分數。

對於 HKOI 2022/23 及以後所用之編程環境的特別宣佈

為持續發展本賽事,香港電腦奧林匹克競賽委員會在外界因素不變之前提下,對比賽作出以下調整:

初賽
– 唯一編程語言為 C++20

決賽
– 將使用 Linux 以取代 Windows 操作系統
– 唯一主編程語言為 C++20
– Pascal 及 C 將以次等編程語言提供至 HKOI 2023/24 為止