• 沒有找到結果。

106軟體競賽(決賽)試題 高中組

N/A
N/A
Protected

Academic year: 2021

Share "106軟體競賽(決賽)試題 高中組"

Copied!
6
0
0

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

全文

(1)

臺北市一 O 六學年度高級中等學校電腦程式設計競賽決賽試題

(高中組)

說明: 1. 本試卷共有四題,每題 25 分。 2. 請記得隨時備份自己的程式。

試題 1:尋找編碼權重

問題敘述

強強設計了一個隱密的資料傳輸機制,想要把非負整數用一個特別的進位制 編碼起來,這個進位制的每一位數可以使用的數字個數不一定相等,平常 b 進位 制裡一個 n 位數字 (dn-1,dn-2,…,d2,d1,d0), 0di<b,0in-1 代表非負整數 D = dn-1bn-1 + dn-2bn-2 + … + d2b2 + d1b + d0 (其中每一位數 di 可以使用的數字都有 b 個),現在這個新的進位制裡一個表示方法 (dn-1,dn-2,…,d2,d1,d0) 代表的非負整數

D 為 dn-1bn-1 + dn-2bn-2 + … + d2b2 + d1b1 + d0 其中 bi+1>bi, 0di<(bi+1/bi), 0<i<n-1,

0d0<b1, 0dn-1<M/bn-1, bn-1M,使得每一個 [0,M] 範圍中的非負整數都有唯一的 表示方法,在傳送的過程裡強強不想讓任意的人都可以隨便看出來傳送的資料是 什麼,所以他把所使用的權重 { bi }, 0<i<n 混雜了許多其它的數字之後打亂順 序再傳送,他確認過傳送的集合 { Bi } 裡面符合基底規則的序列中最長的就是 { bi },現在你收到了這一組數字 { Bi },請寫一個程式由收到的 { Bi } 中找出 所使用的編碼方法的位數以及權重,如下列範例將 n 以及 { bi } 由小到大列印 出來。程式的輸入與輸出描述如下: 輸入說明: N B0 B1 B2 B3 … BN-1 輸入資料中第一個整數是傳送的集合 { Bi } 的元素個數 N,接下來 N 個整數就 是 Bi, 程式輸出此編碼方法的位數 n 以及由小到大排序的 n-1 個權重 b1 b2 b3 … bn-1。 輸出說明: n b1 b2 b3 … bn-1 實際測資中參數的範圍如下:2<n60, 2N3000, 1<bi<263, 1<Bi<263, 如果找不到 大於 2 的 n,請輸出 -1,程式執行時間限制 3 秒 範例輸入: 5 18 9 5 3 7

(2)

範例輸出: 4 3 9 18 範例輸入: 5 8827 10760113 29003 203021 118243 範例輸出: 4 29003 203021 10760113 範例輸入: 6 279936 8827 109319 35987 689 27209 範例輸出: -1

試題

2.

叢林昆蟲大調查

問題敘述

志明與春嬌是兩位國際知名的昆蟲學家,今年的夏天他們在靠近赤道的一個 小島上採集三種昆蟲(椿象、蝴蝶和蒼蠅;依序以 0、1、2 分別來當成它們的代號) 做為研究用途。在此島上有三處的叢林(它們分別以 A、B 和 C 來代表)是昆蟲最易 聚集之地方,每隔一段時間志明與春嬌協力要這三處叢林之一隨機採集一隻上述 的昆蟲(假設一定可採集到);當志明與春嬌當採集到一隻昆蟲後可以選擇留在同一 處叢林繼續採集或離開到其它叢林繼續採集。 假設他們一開始採集昆蟲的叢林為 A、B 和 C 的機率依序為 0.3、0.3、0.4; 而在這三處叢林會採集到椿象、蝴蝶和蒼蠅的機率如下表(表一)所示: 表一 椿象 蝴蝶 蒼蠅 A 0.1 0.8 0.1 B 0.2 0.1 0.7 C 0.3 0.4 0.3 例如,在叢林 A 會採集到椿象、蝴蝶和蒼蠅的機率分別為 0.1、0.8、0.1。另外, 當採集到昆蟲後將從一處叢林轉移至另一處叢林(或留在原叢林)繼續採集的機率 如下表(表二)所示: 表二 至 A B C 從 A 0.2 0.3 0.5 B 0.2 0.2 0.6 C 0.4 0.3 0.3 例如,如果目前是在叢林 B,則留在叢林 B 繼續採集的機率是 0.2、轉移至 A 繼續 採集的機率是 0.2、轉移至叢林 C 繼續採集的機率是 0.6。若所採集昆蟲的序列是 「椿象、蝴蝶」,則此昆蟲序列與可能對應到的叢林序列同時發生的機率計算如下

(3)

表三 椿象、蝴蝶 機率 AA 0.3(開始為 A)x0.1(A 採集椿象)x0.2(繼續在 A)x0.8(A 採集蝴蝶) 0.0048 AB 0.3(開始為 A)x0.1(A 採集椿象)x0.3(轉移至 B)x0.1(B 採集蝴蝶) 0.0009 AC 0.3(開始為 A)x0.1(A 採集椿象)x0.5(轉移至 C)x0.4(C 採集蝴蝶) 0.0060 BA 0.3(開始為 B)x0.2(B 採集椿象)x0.2(轉移至 A)x0.8(A 採集蝴蝶) 0.0096 BB 0.3(開始為 B)x0.2(B 採集椿象)x0.2(繼續在 B)x0.1(B 採集蝴蝶) 0.0012 BC 0.3(開始為 B)x0.2(B 採集椿象)x0.6(轉移至 C)x0.4(C 採集蝴蝶) 0.0144 CA 0.4(開始為 C)x0.3(C 採集椿象)x0.4(轉移至 A)x0.8(A 採集蝴蝶) 0.0384 CB 0.4(開始為 C)x0.3(C 採集椿象)x0.3(轉移至 B)x0.1(B 採集蝴蝶) 0.0036 CC 0.4(開始為 C)x0.3(C 採集椿象)x0.3(繼續在 C)x0.4(B 採集蝴蝶) 0.0144 所以昆蟲序列「椿象、蝴蝶」的最終發生機率為 0.0917(為上述 9 種組合的機率和)。 聰明的你(妳)請幫忙志明與春嬌計算在給定的多個昆蟲序列中哪一筆序列的 最終發生機率是最大的? 輸入說明 第一行為一個正整數 n,1≦n≦50。 第二行起共有 n 行,分別對應到不同的昆蟲序列。其中每一行的第一個輸入是某 一筆昆蟲序列的編號(為一個整數);第二個輸入是此昆蟲序列中昆蟲代號所形成的 數字串(0 代表椿象、1 代表蝴蝶、2 代表蒼蠅)。上述 n 筆昆蟲序列的昆蟲代號數 字串長度不一定相同(最長不超過 50);編號和數字串間是由一個空白鍵所隔開。 輸出說明 輸出上述 n 筆昆蟲序列中擁有最大的最終發生機率的那一筆昆蟲序列所對應之編 號。如果有多筆昆蟲序列同時擁有最大的最終發生機率,請照編號大小(由小到大) 依序將它們對應的編號輸出,編號間是用一個空白鍵來隔開。 輸入範例一 輸出範例一 3 0 0221 1 2101 2 11122 1 輸入範例二 輸出範例二 4 0 221012 1 212101 2 110112 3 001210 2

(4)

試題 3. 產品包裝

問題敘述

有一間工廠生產的產品,其外形每個高度都是 6 單位尺寸,而且長寬也都相 等,但長寬有六種不同的單位尺寸:1*1、2*2、3*3、4*4、5*5、6*6。因此,這 些產品都將是用大小為 6*6*6 單位尺寸的箱子打包後寄給客戶。為節省成本,希 望將一個客戶所訂購的產品放在最少的箱子中寄出。請你寫一個程式,找出寄送 某客戶所訂購產品最少需要多少個箱子。 輸入說明: 每組測試資料一列(就是一個客戶的訂單),含有 6 個整數,分別代表 1*1、 2*2、3*3、4*4、5*5、6*6 六種不同尺寸產品的數目。若此 6 個整數均為 0 代表輸 入結束。 輸出說明: (顯示在螢幕上) (程式必須在 1 秒內執行完畢,否則不計分) 對每一組測試資料,顯示寄送這些產品最少需要多少個箱子。 輸入範例: 0 0 0 3 0 0 0 5 0 0 1 1 78 95 94 29 19 12 30 50 63 80 45 65 0 0 0 0 0 0 輸出範例: 3 3 84 206

試題 4. 造型擺飾

問題敘述

娜娜很愛作手工藝,今天她要利用一些竹片來拼貼出一個造型擺飾。一開始 的時候,她會在桌上由左至右擺出 n 片寬度和高度均為一公分,但長度不一的竹 片。接下來,她會反覆地使用額外的竹片(寬度和高度均為一公分,長度為被拼 貼的竹片之和)將兩兩相鄰的竹片(組)拼貼起來,直到最後所有竹片都變成一 組。(也就是說,總共會拼貼 n–1 次。)

(5)

舉例來說,如果桌上一開始的五片竹片長度分別為 2, 3, 1, 4, 1 公分,擺放如 下: 圖一:初始的五片竹片 娜娜可以每次都黏最左邊的兩組竹片,黏貼結果依序為: 圖二:第一種黏貼方式 照這個黏貼方式,最後的擺飾如上圖二,總共會留下右下角共 11 + 42 + 13 = 12 立方公分的空間。 娜娜也可以用另一種方式黏貼,如: 圖三:第二種黏貼方式 照第二種黏貼方式,最後的擺飾如上圖三,總共會留下右下角共 12 = 2 立方公 分的空間。 當然還有其它黏貼方式,例如下圖四的黏貼方式,留下的空間為 (1+4+1)1 = 6 立 方公分的空間。

(6)

4 2 3 1 3 圖四:第三種黏貼方式 娜娜覺得有這麼多種拼貼結果實在很有趣,她忽然想知道怎麼黏貼會留下最少的 空間,請你寫一個程式來幫她計算。

輸入說明

輸入的第一行為一個正整數 T (T  10),代表總共有幾組測資。每一組測資的 第一行為一個整數 n (n  50),代表總共有幾片竹片;第二行有 n 個正整數,代 表由左至右的竹片長度 di(1  di  1000)。

輸出說明

對每一組測資,將結果輸在獨立一行。請輸出該組測資所有拼貼方式中,留 下的最小空間為多少立方公分。

輸入輸出範例

輸入範例 輸出範例 3 5 2 3 1 4 1 8 4 3 2 1 5 9 6 2 7 9 2 3 4 7 5 5 2 0 3 本題共有五個子任務,每個子任務佔本題分數之 20%,限制如下: 子任務一:n  5 子任務二:n  10 子任務三:n  15 子任務四:n  20 子任務五:n  50

參考文獻

相關文件

第二十六條之一 參加全國技能競賽青少年組之選手來源,為教育部

走過 2020 年,臺灣的硬技術與軟實力在世界上大放異彩,不僅

三、 「攝影競賽」採個人參賽,每人參賽作品以一件為原則, 「國小組」 、 「國中 組」、「高中組」的參賽者可加一名指導老師,每位指導老師至多指導一名

她說:「來過了,給媽媽打了一針……她現在很好。」她又像安慰我似

在嘉年華會期間,最熱鬧的就是聖馬可廣場,時時

• 本範例是模擬真實的鞦韆擺盪速度, 所以還會加 入鞦韆速度變化的效果, 我們將會設定鞦韆由右

 活用建築物本身擁有的磁場特性進行定位 ,因此可用來解決 上述問題。利用實驗型App取得智慧型手機地磁場感應器的數據,接著

力求社會倫理規範 和個體心理欲求 交融統一在衣飾上