110學年度高中資訊學科能力複賽暨高職電腦程式設計比賽參考解法說明

高雄市110 學年度高中資訊學科能力複賽暨高職電腦程式設計比賽參考解法說明

參考用試題本

第一題:鑽石行動 (國中組)
本題為基本語法測驗,參賽者可以使用條件判斷方式,讀取輸入並輸出正確圖形,得到部分分數。預期的滿分解則為採用巢狀迴圈(多層迴圈)或採用語言內建字串重複語法(如python3 語言可採用*號重複同一字串多次),並計算每一列符號重複的次數。

第二題:長圓周率 (國中組)
本題為基本語法測驗,參賽者可以使用條件判斷方式預先判斷僅輸出整數部分的狀況,並採用語言之字串處理操作,如python3 語言可以使用[]與:等符號直接完成取固定長度之字串,並輸出此字串即可。

第三題:魔數反串 (國中組、高職組)
本題為基本語法測驗,參考解法為使用步進長度14 的迴圈,從頭開始依序分割字串,每一輪擷取長度14 的字串,並反轉前7 個字元,輸出結果即可。

第四題:排一下隊 (國中組、高職組)
本題為基本字串語法測驗及排序,多數語言已內建排序函數與字串切割函數,將字串切割後進行排序,再依序輸出規定的結果即可。

第五題:精靈遊戲 (國中組、高職組)
本題為二維陣列之簡單應用,採用條件判斷與迴圈持續前進,直到終點為止。但參賽者亦可採用一維陣列模擬二維陣列之上、下、左、右方格。

第六題:戰地求生 (高職組)
本題為基本之回溯法問題,可使用遞迴方式窮舉所有滿足條件的組合方式,並輸出最佳答案,得到部分分數。參賽者亦可採用動態規劃進行優化以得到較多分數。
第七題:數正整數 (國中組、高中組、高職組)
本題為基本之字串連接問題,依次序連接所有正整數後,從特定位置取規定長度的字串即可得到部分分數。參賽者亦可直接利用程式計算該字串特定位置從哪一個正整數開始,再計算其切割之長度,以獲取較高之分數。

第八題:矩形面積 (國中組、高中組、高職組)
本題為基本之窮舉法問題,僅需以巢狀迴圈窮舉左界、右界、計算其間隔距離與高度,並檢查是否符合題目規定即可得到部分分數。採用排序法,由最高的支撐物開始進行計算,配合部分資料之預處理優化,即可獲得較高得分。

第九題:選舉策略 (國中組、高中組、高職組)
本題為基本之回溯法問題,可使用遞迴方式窮舉對所有人採用策略的組合,並計算那些組合之花費在規定範圍內,即可通過範例測試資料。採用貪心法或動態規劃法可得較高分數。

第十題:陌生三人 (高中組、高職組)
本題為基本之巢狀迴圈(四層迴圈)問題,可先以三層迴圈窮舉所有由三人組成之組合,並檢查其中是否有兩人不在認識的清單列表內,即可通過範例測試資料。欲得到較高之分數,需選擇較適合的人、與較適合的二人關係進行窮舉,先計算所有由三人組成的組合數量,再扣除所有由三人組成且互相認識的組合數量即可得到答案。

第十一題:公正比賽 (高中組)
本題為基本之排列窮舉問題,可採用回溯法窮舉規定長度的所有排列,並檢查是否有任何三個連續位置的值為連續遞增,統計其數量後取除以10000019 的餘數即可通過較小的範例測試資料。欲得到較高之分數,需觀察數列的性質並推導出相關之規律。

第十二題:飛彈轟炸 (高中組)
本題為稍微複雜之計算幾何問題,參賽者必須先找出所有合適的圓心,再統計有多少敵軍在該半徑的範圍內。由於難以有效率的窮舉所有合適的圓心,故建議改以窮舉該半徑範圍邊緣上的任一點,再將其他點以向量有向角排序,並掃描該邊緣上的一點至該圓圓心的夾角的可能角度,僅需處理該半徑範圍邊緣上同時有另一點之狀況。進行角度窮舉時,可同時計算有多少敵軍在該半徑的範圍內,即可得到滿分。

第十三題:密碼運算 (高中組)
本題本來預期是較為複雜之代數優化問題,但由於評測系統之時間設定考量,僅需使用窮舉法即可通過全部測試資料。

第十四題:感受排名 (高中組)
本題為較複雜之合併排序問題,先窮舉所有可能的答案,並以合併排序之方式檢查該答案之名次即可,窮舉過程中,可使用二分搜尋法進行優化。

110學年度高雄市高中職程式設計教育選手培訓研習注意事項

110學年度高雄市高中職程式設計教育選手培訓研習注意事項:
研習日期:110/10/16-17兩日
研習時間:9:00~16:40(8:30開始報到)
注意事項:
1.請研習同學配合防疫措施:1.進校門量體溫。2.全程戴口罩。
2.請同學自行攜帶水杯(研習教室外有飲水機)。
3.請攜帶文具、筆記本(研習講師特別囑咐)
錄取名單如下:
研習錄取名單

110學年度高中資訊學科能力複賽暨高職電腦程式設計比賽,國中組參賽名單。

110學年度高中資訊學科能力複賽暨高職電腦程式設計比賽,國中組報名人數調整公告。
因為防疫考量,國中組競賽報名人數每校可參賽名單如下:
楠梓國中 洪O傑 青年國中 郭O林 青年國中 吳O安
明義國中 胡O昌 福山國中 蘇O銓 福山國中 王O承
右昌國中 黃O華 右昌國中 蔡O宏 旗山國中 林O翰
旗山國中 許O維 龍華國中 朱O儒 龍華國中 陳O璿
明華國中 黃O綸 明華國中 黃O瑄 三民國中 林O瑜
三民國中 傅O佑 獅甲國中 簡O植 道明國中 李O昂
道明國中 范O鈞 普門國中 林O承 普門國中 張O嘉
七賢國中 戴O禾 陽明國中 蔡O恩 陽明國中 蔡O融
大仁國中 蘇O慶 英明國中 謝O恩 英明國中 張O翔
正興國中 孫O駿 忠孝國中 歐O蓁 忠孝國中 陳O妡
路竹國中 鄧O誠 中芸國中 王O雯 中芸國中 陳O睿
立志國中 黃O瑜 五福國中 謝O愛 五福國中 顏O宇
鳳西國中 謝O諭 鳳西國中 林O閎 鳳甲國中 李O陞
鳳甲國中 王O鈞 光華國中 陳O勤 國昌國中 陳O廷
國昌國中 陳O洋 小港國中 顏O鴻 小港國中 張O宇
國光國中 曾O堂 國光國中 王O鴻 師大附中 謝O禾

**高中高職組的報名人數依計畫內容執行

110學年度高雄市高中職程式設計教育選手培訓研習暨指導教師說明會實施計畫

主辦單位:高雄市政府教育局。
承辦單位:高雄市私立復華高級中學。
活動辦理:
(一) 學生程式設計培訓營隊:
1、辦理日期:110年10月16日(星期六)至10月17日(星期日)上午9時至下午4時40分。
2、參加對象:本市高中職學生及國中學生(已具程式設計基礎者),共55人。各校報名以正取3人、候補2人為限,並以高中職校學生為優先錄取。
3、報名日期:自即日起至110年10月4日(星期一)止,額滿提前截止。
4、地點:高雄市復華中學資訊中心第四電腦教室。(備註:倘若國內新冠肺炎疫情影響,為因應防疫措施改採線上方式進行,相關細節再另行公告。)
5、110年10月7日(星期四)各校候補學生遞補作業,遞補名單公告於http://ioi.kh.edu.tw。
(二) 指導教師說明會:指導教師說明會:競賽相關事項以影片方式說明,並於110年9月10日公告於活動網站(http://ioi.kh.edu.tw),請指導老師自行參閱,以俾利對未來參賽規劃有所瞭解。
研習計畫
研習報名表

110學年度高中資訊學科能力複賽暨高職電腦程式設計比賽實施計畫

一、競賽日期:110 年 11 月 6(星期六)
二、報名日期:於10月22日星期五下午5時報名截止
三、競賽組別:高中組(含觀摩組:本市國立學校之高中學生)、高職組、國中組
四、複賽程序:
07:30 ~ 08:00 報到
08:00 ~ 08:30 試機
08:30 ~ 09:00 命題說明
09:00 ~ 13:00 比賽
13:00 ~ 13:30 用餐
13:30 ~ 16:30 評審、講評及頒獎。
五、複賽須知:複賽解題語言
高中組:JAVA、C、C++、Python等
高職組:JAVA、C、C++、Python等
國中組:JAVA、C、C++、Python等
六、競賽模擬:http://zerojudge.tw/ 高中生程式解題系統
七、複賽地點:高雄市復華高級中學資訊中心電腦教室。備註:若國內COVID19肺炎疫情持續嚴峻,為因應防疫措施改採線上方式進行 競賽,相關細節再另行公告。
七、詳細競賽內容請參考「競賽計畫