• 沒有找到結果。

103北市賽程式設計試卷

N/A
N/A
Protected

Academic year: 2021

Share "103北市賽程式設計試卷"

Copied!
9
0
0

加載中.... (立即查看全文)

全文

(1)

臺北市

103 學年度高級中學資訊學科能力競賽

程式設計試題

准考證號碼:

姓名:

USB 號碼:

評分主機帳號:

下表供自行記錄評分結果

題目 評分 水晶球 Crystal Ball 得分高手 Master 領土 Territory 太空謎走 Astro 加密密鑰 Key 一 二 三 四 五 每題 得分 總分

/ 500

(2)

臺北市

103 學年度高級中學資訊學科能力競賽

注意事項

一、 本競賽採電腦線上自動評分,程式必須依規定上傳至評分主機。請嚴格遵守每一題目 所規定之原始程式檔名及格式。若未遵守,該題將可以0 分計算。有關評測主機的詳 細操作說明,請參考評分主機說明文件。 二、 本練習賽採取全面回饋機制,程式上傳至評分主機後,將自動編譯並進行測試。視等 待評分題數多寡,該題測試結果及該題得分數將可於短時間內得知。程式可重複上傳 及評分,但同一題兩次上傳之間必須間隔二分鐘以上。每題最終分數以該題所有單次 評分結果之最高分計算。 三、 程式執行時,針對每組測試資料執行時間以5 秒為限(以評分主機執行時間為準)。 執行時間超過5 秒者視同未完成,該組測試資料得分將以 0 分計算。每題可使用記憶 體空間,除非題目另有規定,以512MB 為限。 四、 本次競賽程式送審時須上傳原始程式碼 (.c, .cpp, .pas),輸出入皆以標準輸入、標準 輸出進行。注意:所有讀寫都在執行檔的工作目錄下進行,請勿自行增修輸出入檔的 檔名或路徑,若因此造成評分程式無法評分,該次評分結果將以0 分計算。 五、 本競賽每一題皆有不同難易度的測試資料,詳細配分及限制條件請詳各題題目說明。

六、 本競賽題目無需使用超長整數 (long long) 變數,請勿使用 long long 宣告變數。若 因為使用該資料型態造成程式編譯或執行錯誤,導致評分程式無法正確評分,該次評 分結果將以0 分計算。 七、 請用主辦單位分配的隨身碟備份原始程式碼,若因任何原因而需更換電腦時,僅能將 隨身碟內程式複製至新電腦,或下載已上傳至評分主機的程式碼。 八、 若以非 C/C++/Pascal 程式語言撰寫程式者,請事先告知監試人員,領取評分用隨身 碟。若要接受評分,需將程式編譯成可執行檔 (.exe),複製至評分用隨身碟,交給監 試人員送交評審評分。評分結果將以書面通知。

(3)

臺 北 市 103 學年度高級中學資訊學科能力競賽 3 頁,共 9 頁

水晶球

(Crystal Ball)

問題描述 阿華很喜歡玩益智遊戲,昨天他拿到一個遊戲,規則是這樣的:在一個 N×M 的棋盤 上有一個水晶球,給定它的起始位置和目標位置,阿華必須將水晶球從起始位置移動到目 標位置。移動的次數和移動的距離也是給定的,阿華只能決定移動的方向:上、下、左或 右。舉個例子:下圖是一個 4×6 的棋盤,水晶球的起始位置是 (1, 1),目標位置是 (3, 5)。 ○ 0 1 2 3 4 5 0 ○ ○ 1 ○ 2 3 ○ ○ ● 如果指定水晶球必須移動三次,每次移動的距離依序是 1, 2, 3,則阿華可以將水晶球向「上」 移動1 格、向「左」移動 2 格,再向「下」移動 3 格,即可抵達目標位置。(或是「右」、 「下」、「右」也可以。)移動過程中,如果超出棋盤邊界,則會從另一頭繼續移動,例如 上面的第一種解法,水晶球從 (0, 1) 向左移動 2 格,會移動至 (0, 5) 這個位置。 一開始的關卡很簡單,阿華一下子就完成了。但是有一個關卡阿華想了很久,他認為 這個關卡是不可能達成的。現在請你寫一個程式,幫阿華確認一個關卡是不是有可能達成。 (阿華自尊心很強,你不需要告訴他該如何移動水晶球,只要告訴他這個關卡是否可能達 成。) 輸入格式 輸入的第一行有兩個數字 N 和 M (1 ≤ N, M ≤ 100),代表棋盤大小。第二行有四個數 字 X1, Y1, X2, Y2,代表水晶球的開始位置 (X1, Y1) 和目標位置 (X2, Y2)。第三行的第一個 數字 K (1 ≤ K ≤ 10,000) 為正整數,代表可移動幾次,接下去有 K 個正整數 d1, d2, …, dK (≤ 100),代表移動的距離。兩個整數之間都以一個空格隔開。 輸出格式 請輸出是否可能將水晶球移至目標位置。若可以,印出 YES,否則印出 NO。 輸入範例 1 4 6 1 1 3 5 3 1 2 3   輸出範例 1 YES   輸入範例 2 2 2 0 0 1 1 2 2 2   輸出範例 2 NO  

(4)

評分說明 本題共有四組測試資料。 第一組測試資料 1 ≤ N, M ≤ 5,K = 2,共 10 分。 第二組測試資料 1 ≤ N, M ≤ 50,1 ≤ K ≤ 5,共 30 分。 第三組測試資料 1 ≤ N, M ≤ 100,1 ≤ K ≤ 20,共 30 分。 第四組測試資料 1 ≤ N, M ≤ 100,1 ≤ K ≤ 10,000,共 30 分。 輸入檔範例 3 2 2 0 0 1 1 2 1 1 輸出檔範例 3 YES  

(5)

臺 北 市 103 學年度高級中學資訊學科能力競賽 5 頁,共 9 頁

得分高手

(Master)

問題描述 一個數字棋盤遊戲,一開始可在棋盤中任選一格為起點,並規定下一步只能選擇起點 的右方或下方格子;選擇其中一個方向後,同樣只能自該選擇的格子選擇往右方或是下方 的格子推進,依此類推繼續走下去,不能再回頭。每一個格子都有分數,選擇該格子就能 取得上面的分數,但是分數有正得分也有負得分(扣分)。玩家可在任意時候決定不再繼 續走,或是依規則走完所有能走的格子。以底下3 x 4 的棋盤為例,若選擇以第 2 列第 1 行為起點,依序通過3 à -1 à 8 à 6,可得此棋盤最高可得分數 16。 給定棋盤上每一格的分數,請寫一個程式來找出最高可得分數。 輸入檔格式 第一列是兩個整數m, n,代表棋盤維度大小(mn 行),3 ≤m, n ≤ 3,000(棋盤實際大小請參照評分 說明)。接下來是依照棋盤維度,共有m 列,每一列n 個整數,代表每一格的得分 score,-9 ≤ score ≤ 9, 且至少有一個 score > 0。 輸出檔格式 輸出一個整數,該整數為你的程式所找的最大得分。 評分說明 本題共有五組測試資料。 第一組測試資料3 ≤ m, n ≤ 5,0 ≤ score ≤ 9 ,共 20 分; 第二組測試資料3 ≤ m, n ≤ 5,-9 ≤ score ≤ 9 ,共 20 分; 第三組測試資料3 ≤ m, n ≤ 100,0 ≤ score ≤ 9 ,共 20 分; 第四組測試資料3 ≤ m, n ≤ 100,-9 ≤ score ≤ 9 ,共 20 分; 第五組測試資料m, n =3,000,-9 ≤ score ≤ 9 ,共 20 分。 輸入範例一 3 3 3 2 5 9 -2 6 4 -8 3 輸出範例一 19 --- 參考走法: 3à2à5à6à3 3à9à-2à6à3 亦可 輸入範例二 3 5 5 -8 5 2 4 1 1 -9 1 -2 2 -9 3 -3 9 輸出範例二 18 --- 參考走法: 5à2à4à-2à9

(6)

領土

(Territory)

問題描述 領土為一個國家最重要的資源。因此一個國家經常會在國土內的各個地方設置安全哨, 以確保領土內的治安及安全。為了簡易丈量領土大小及領域邊界,在群雄割據的古代諸侯 國之間訂定了簡易的領土界定標準。此標準的規定為將國家中的所有安全哨彼此兩兩以直 線相連,並從這些直線所圍出的面積中找出最大的區域來定為該國的領土,而在領土邊界 上的點稱為邊界安全哨。例如,下面圖中某一諸侯國共有五個安全哨,其中由位於 (10, 10)、 (20, 30)、(40, 30) 及 (40, 10) 等四個點為邊界安全哨,其所圍出來的面積為最大區域,也 就是該國的領土,因此該國的領土大小為500 平方公里。給定某國所設定的安全哨,請寫 一個程式來計算該國領土面積。 輸入格式 輸入檔第一行有一個整數 n,代表該國家有 n 個安 全哨。接下來有 n 行,每行有兩個整數 x 及 y,以一 個空白隔開,用以代表一個安全哨在座標軸上的位置, 其中整數 x 代表該安全哨在橫軸上的座標值,整數 y 代表該安全哨在縱軸上的座標值。 輸出格式 輸出該國安全哨所能圍出的最大領土,輸出資料四捨五入取到整數位。 評分說明 本題共有四組測試資料。 第一組測試資料 0≤ n ≤10,且所有安全哨皆為邊界安全哨,並且所圍出來的最大領土 必為長方形,共10 分。 第二組測試資料 0≤ n ≤10,且所有安全哨皆為邊界安全哨,共 20 分。 第三組測試資料 0≤ n ≤100,並非所有安全哨皆為邊界安全哨,共 30 分。 第四組測試資料 0≤ n ≤10000,並非所有安全哨皆為邊界安全哨,共 40 分。 提示 三角形面積公式:假設三角形的三個邊長為 a、b、 c。s = (a+b+c)/2,則三角形的面積 = ! ! s(s − a)(s − b)(s − c)。 輸入範例 1 5 10 10 20 20 20 30 40 10 40 30 輸入範例 2 6 0 20 10 0 10 30 20 10 20 35 30 10 輸出範例 1 500 輸出範例 2 600

(7)

臺 北 市 103 學年度高級中學資訊學科能力競賽 7 頁,共 9 頁

太空迷走

(Astro)

問題描述 某太空人在執行太空漫步任務時,因不明原因陷入小行星群內,由於身處在無重力環 境中,移動的方式只能依賴推進器產生的反作用力。然而太空人隨身攜帶的推進器燃料有 限,必須謹慎規劃使用燃料的時機和移動路線,才能安全返回太空站。 為了簡化問題,我們假設障礙物靜止不動,太空人移動的範圍僅限於二維XY 平面上, 且僅能沿X 或 Y 方向橫向或直向移動。移動範圍以 Nx * Ny 個方格代表,最左上角的方 格座標為(0, 0)。 使用燃料棒改變移動方向後,移動速度將取決於當時所使用燃料棒的單位數,與原本 的移動方向與速度無關。一次使用n 單位的燃料棒,將可沿新的移動方向以每分鐘 n 個方 格的速度行進,且移動的距離必須為整數個方格。 由於擔心燃料棒不足,太空人每次改變方向時僅消耗一個單位的燃料棒,直到最後一 次轉向時,因已確定可以安全返回,才可使用較多單位的燃料棒,以提早到達的時間。 以右圖為例,太空人起始位置在A=(5, 3), 太空站位置在S=(2, 0),深色方格代表內有小行 星群形成的障礙物,無法安全通行。假設太空 人在起始位置剩餘的燃料棒有4 個單位,則可 以先消耗一單位的燃料向左移動,經歷一分鐘 後到達(4, 3),再消耗一單位的燃料向上移動, 經歷三分鐘後到(4, 0),最後消耗剩餘兩單位的 燃料向左移動,經歷一分鐘後到達S,所需的 時間總和是5 分鐘。(上圖亦存在其它可能的移 動路徑,但所需的時間將會大於5 分鐘。) 請你幫助太空人,找到可以使用剩餘的燃料,盡快安全返回太空站的路線。 輸入格式 第一行有兩個整數Ax 和 Ay,以空白分隔,代表太空人的起始位置。第二行有兩個整 數 Sx 和 Sy,以空白分隔,代表太空站的位置。第三行有一個整數 F,代表在起始位置剩 餘的燃料棒有 F 個單位。第四行有一個浮點數 T,代表已知的最佳解所需的移動時間為 T 分鐘。(如果你的解所需時間超過 T 分鐘,仍可得到部分分數,請參見評分標準說明。)第 五行有兩個整數Nx 和 Ny,以空白分隔,代表移動範圍有 Nx   *   Ny   個方格。接下來有 Ny 行,每行有 Nx 個整數,並以空白分隔,代表方格內的內容。如果方格內的數值為 1,代 表該位置有障礙物,如果數值為0 則代表無障礙物。   S A

(8)

輸出格式 每筆測試資料輸出下列資料:   第一行為一整數K,代表移動的次數。   接下來有K 行,每行有兩個整數 X,  Y,以空白分隔,代表移動到(X,  Y)位置。最後一次必須 移動到太空站的位置(Sx,  Sy),否則得分為 0。   請注意:   K 不得大於輸入檔中的 F,但是 K 可以小於 F,也就是最後一次移動將使用 F-­‐K+1 個單位的燃料來加快移動速度。   輸入範例 1 5 3 2 0 4 5.0 8 6 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 輸出範例 1 3 4 3 4 0 2 0 輸入範例 2 2 1 5 5 6 5.5 6 6 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 0 輸出範例 2 3 2 0 5 0 5 5 評分標準 本題共有四組測資。每組測資所輸出移動方式必須全部合法方能得分。   第一組測試資料,F  ≤  3,  Nx  ≤  10,  Ny  ≤  10;   第二組測試資料,F  ≤  5,  Nx  ≤  10,  Ny  ≤  10;   第三組至第四組測試資料,F  ≤  10,  Nx  ≤  100,  Ny  ≤  100;   每組得分計算方式為25*(已知的最佳解所需的移動時間)  /  (移動時間),但若得分超出 25 分,則以滿分 25 分計。  

(9)

臺 北 市 103 學年度高級中學資訊學科能力競賽 9 頁,共 9 頁

加密密鑰

(Key)

問題描述 迪亞哥是某國家最高情報機構安插至某恐怖組織的臥底探員,負責進行滲透工作,以 獲取最新恐怖活動的各項情報,協助各項反恐行動的遂行。為了避免臥底的身份曝光,迪 亞哥與上級對口單位的所有聯絡事宜,皆必須經過特殊的演算法進行加密;同時,為了避 免加密的內容遭到破解,迪亞哥每天都會使用不同的加密密鑰(encryption key),並且利用 智慧手機的即時通訊軟體,將當日的加密密鑰編碼後傳送給上級對口單位。 為了解碼迪亞哥所傳送的各項珍貴情報,上級單位必須首先解碼找出當日的加密密鑰, 接著才能使用該密鑰進行解密。你的任務便是協助上級單位從迪亞哥傳送的即時通訊內容 中,尋找出當日的加密密鑰。已知迪亞哥所傳送的訊息為一個前k 個小寫的英文字母所組 成的字串,且該字串的長度為n。該字串中含有至少一個出現次數為兩次(含)以上的子 字串,而其中長度最長的子字串即為當日的加密密鑰。 輸入格式 輸入為一個長度為 n 且由前 k 個小寫英文字母所組成的字串。 輸出格式 請輸出該組測資中的加密密鑰。註:每一筆測試資料皆洽只有一組唯一解。 評分說明 本題共有5 組測試資料,每組 20 分: 第一組測試資料中,1< n ≤ 10,k = 2。 第二組測試資料中,1 < n ≤ 50,2 ≤ k ≤ 5。 第三組測試資料中,1 < n ≤ 100,2 ≤ k ≤ 10。 第四組測試資料中,1 < n ≤ 1000,2 ≤ k ≤ 10。 第五組測試資料中,1 < n ≤ 100000,2 ≤ k ≤ 10。 輸入範例一 abacab 輸出範例一 ab 輸入範例二 abababab 輸出範例二 ababab

參考文獻

相關文件

臺北市立大安高級工業職業學校 Taipei Municipal Daan Senior Vocational Industrial High

民國 103 年 11 月 自然科學簡訊第二十六卷第四期 化學. 103 年度化學學門一般型研究計畫的執行件 數共計 504 件,總金額為 962,504

物理辯論及探究實作競賽給予評審講座,讓 學生能明瞭目前國內具公信力的各式科學競 賽的舉辦期程、評分要點、評審觀點等。同 時也邀請台北醫學大學醫學系

市長盃 本項賽事 103 年度以後停 辦,已獲獎學生仍可採計 主委盃 本項賽事 103 年度以後停. 辦,已獲獎學生仍可採計 港都盃 本項賽事

參賽學校每隊補助 500 元整,請各校填妥領據(抬頭:臺中市北屯區北屯國 民小學)及支出明細表各

陳威成 臺北市立南港高級工業職業學校、勞動部勞 動力發展署桃竹苗分署. 吳佳儒

輸入 佳作 林詩涵

國立嘉義大學附設實驗國民小學 103 學年度第 2 學期 資源班(六)年級 數學 領域教學計畫(含期末課程檢核). 資料來源