一般規則

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

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

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

擬被提名學生若是香港電腦奧林匹克競賽集訓隊隊員,所屬學校可選擇經由香港電腦教育學會提名。經由香港電腦教育學會提名的參賽者並不屬於校隊,故他們在比賽中所得的分數將不計算在學校總分之內。

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

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

初賽

初賽以筆試形式進行,參賽者須完成一份包含選擇題及短答題的試卷。初賽為時一小時三十分鐘,遲到逾十五分鐘者將被取消資格,參賽者不得提早離場。

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

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

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

決賽

決賽為實習測試,時限為三小時,遲到逾十五分鐘者將被取消資格。

編程語言、工作站及資源

以下表列決賽時使用的程序編寫語言:

語言 提供的開發軟件
Pascal Free Pascal 3.0.0
C (C99) Dev-C++ 5.11
(TDM-GCC 4.9.2)
C++ (C++11)
Java 8 *次等 JDK 1.8.0
Python 3.5 *次等 Python 3.5.2

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

主辦機構將提供必需的系統硬件及軟件,參賽者衹可使用工作站所提供的硬件及軟件,除一個自備鍵盤外,其他任何輔助資料或使用說明書均不准帶入賽場。

參賽者將使用 Windows 作業系統,但提交的源程序檔將會以 Linux 作業系統編譯。除上述軟件外,工作站將裝有 Visual Studio Code (連同 Pascal, C/C++, Python 及 Java 插件)。

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

自備鍵盤

參賽者可帶備一個鍵盤於比賽時使用,但無線鍵盤、需安裝驅動程式之鍵盤、及裝有「青軸」(或等同)的機械鍵盤均不可使用。裁判團保留檢查及拒絕任何鍵盤之權利、

試題

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

遞交答案及評審

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

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

查詢

如有任何疑問,參賽者須於比賽完畢後,立即向總裁判提出。所提出的疑問,將由裁判團作最後裁決。