• 沒有找到結果。

97決賽試題(高中組)

N/A
N/A
Protected

Academic year: 2021

Share "97決賽試題(高中組)"

Copied!
6
0
0

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

全文

(1)

臺北市九十五學年度高級中等學校電腦程式設計競賽決賽試題

臺北市九十五學年度高級中等學校電腦程式設計競賽決賽試題

臺北市九十五學年度高級中等學校電腦程式設計競賽決賽試題

臺北市九十五學年度高級中等學校電腦程式設計競賽決賽試題

(高中組

高中組

高中組

高中組)

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

試題

試題

試題

試題一

一:

:排列組合

排列組合

排列組合

排列組合

給定 n 個英文字母,可以排列組合成 n!個不同的單字,現在想將之編號然後指定其中一個來 當作密碼,於是請你寫一程式將這些所有可能的單字依字典順序依字典順序依字典順序依字典順序排列出來並依序編號依序編號依序編號依序編號。 輸入:任意 n 個英文字母與一指定編號 (編號≤n!) 輸出:第一列顯示共有幾個排列組合,第二列後依字典順序字典順序字典順序字典順序編號編號編號編號排列出所有可能的單字,每 5 個就換行,最後一列顯示指定編號之單字當做密碼。 範例 範例 範例 範例:::: 輸入: dog 3 輸出: 6

(1)dgo (2)dog (3)gdo (4)god (5)odg (6)ogd

密碼:gdo 注意:

1.依序輸出所有可能的單字時固定每 5 個就換行,否則扣分。

2.範例中輸入不論是 dgo 3, dog 3, gdo3, god 3, odg 3 或 ogd 3,程式輸出的答案都一樣。

試題二

試題二

試題二

試題二:

:字串辨認器

字串辨認器

字串辨認器

字串辨認器

一個語言(language)所代表的是一群字(word)的集合。而每一個字則由長度不定的字母 所組而。以英文這個語言為例,它是有限個數的字的集合體,而每一個字則由字母 a-z 所組 合而成。 電腦科學家喜歡用簡潔的方式來描述一種語言,尤其是當一個語言是無限的時候特別好

用。例如一個語言{ a, aa, aaa, aaaa, aaaaa, ……} 我們可以用一個簡潔的表示法 aaaa++++ 來

表示這個語言。++++ 這個符號代表任意正整數個數(也就是>0)的運算子,而 aaaa則是符號。有了

這個簡潔的表示法,我們就可以來描述這個無限的集合,也可以寫成 L(a+) = { a, aa, aaa, aaaa, aaaaa, ……} 。

(2)

之前必須有一個 a。 再給另外一個例子,L(a+b*) = { a,aa, aaa, aaaa,…, ab, aab, aaab,…, abb, aabb, aaabb, …},這個語言至少必須有一個以上的 a,然後是任意個數的 b 。請注意, 運算子+ 與*只會出現在字母的後面,而且不會接連出現。 給你一個簡潔的語言表示式(字母由’a’ 到 ’z’),然後給你一群字串,請回答每一個字串 是否屬於該簡潔表示式所定義的語言。 輸入格式 輸入格式 輸入格式 輸入格式 輸入的第一行是一個語言的簡潔表示式,由 a-z,+,* 所組成。輸入的第二行是一個整 數 N (N<10) 代表字串的個數。最後是 N 行的字串,每一個字串由 a-z 組成。 輸出格式 輸出格式 輸出格式 輸出格式 請針對每一個輸出 Yes 或 No 來表示該字串是否屬於該簡潔表示式所定義的語言。 輸入範例 輸入範例 輸入範例 輸入範例 1111 ab* 3 abbbbb aaabb bbbb 輸出範例 輸出範例 輸出範例 輸出範例 Yes No No

試題三

試題三

試題三

試題三:

:坦克攻防戰

坦克攻防戰

坦克攻防戰

坦克攻防戰

在一個電腦遊戲裡, 坦克在某一個時間點啟動由我方陣地以等速度向敵方陣地前進, 某一時 間點後再以等速度撤回, 我們可以用下圖來顯示坦克與我方陣地之距離與時間之關係: 如果我方有多輛坦克在不同時間點啟動, 以不同的速度前進, 我們可以用下圖顯示三輛坦克 與我方陣地之距離與時間之關係:

(3)

我方的巡防範圍基本上在距離最遠的坦克以內, 因此我們希望知道在每一個時間點最遠的坦 克究竟是哪一輛, 如下圖: 我們希望知道 M0 在 t0 到 t1 間, M1 在 t1 到 t2, M0 在 t2 到 t3, M2 在 t3 到 t4 間是最 遠的巡防坦克, 同時我們也希望算出一個防禦距離和時間的總積分, 也就是上圖中虛線以下 的總面積, 作為派遣坦克的依據。 請撰寫一個程式, 讀取如下格式的文字資料檔案 檔案中第一列是坦克的總數, 第二列以後為個別坦克的 ID 以及在時間-距離圖中的描述, 例 如上圖檔案中共有兩台坦克, 第二列資料表示坦克 M0 在時間 0 時於距離 0 處啟動朝向敵 方前進, 在時間 5.5 時於距離為 2.3 處開始撤退, 在時間 12.7 時回到我方陣地(距離為 0); 第三列資料表示坦克 M1 在時間 3.7 時於距離為 0 處啟動朝向敵方前進, 在時間 6.3 時於 距離為 5.9 處開始撤退, 在時間 9.2 時回到我方陣地(距離為 0)。 你的程式應該要輸出下列數值 (各個數值請輸出到小數點以下 6 位) 時間 0.000000 到 4.535890 坦克 M0 位於最前方 時間 4.535890 到 8.548087 坦克 M1 位於最前方 時間 8.548087 到 12.700000 坦克 M0 位於最前方 2 M0 0 0 5.5 2.3 12.7 0.0 M1 3.7 0 6.3 5.9 9.2 0

(4)

以下是三個參考測試資料檔案內容

1 M0 0 0 3.2 2.3 5.7 0.0 2 M0 0 0 3.2 2.3 5.7 0.0 M1 3.3 0 6.1 3.5 7.5 0 7 M0 0 0 3.2 2.3 5.7 0.0 M1 3.3 0 6.1 3.5 7.5 0 M2 3.7 0 6.3 5.9 9.2 0 M3 4.7 0 7.2 2.65 12.9 0.0 M4 6.1 0 7.7 1.6 8.5 0 M5 7.7 0 10.2 3.2 11.7 0 M6 9.8 0 11.9 2.3 13.9 0

(5)

試題四

試題四

試題四

試題四:

:數位影像處理

數位影像處理

數位影像處理

數位影像處理

一張數位影像一般可視為是由寬為 M 個像素(Pixel),長為 N 個像素的二維矩陣所構成, 座標原點 (0,0) 在左上角(如圖一所示)。此解析度(Resolution) M×N 的數位影像中,任一個在 (x,y) 位置的像素,其像素值 p(x,y) 是由一個只可由 0 到 255 的整數值,代表此像素的灰階 亮度(Gray Intensity)。對於影像中的任一個在 (x,y) 位置的像素,1≤x≤M-2,1≤y≤N-2,都有 外圍 8 個空間相鄰像素(如圖二所示),他們的像素分別以 Z1 到 Z9 表示。 在數位影像處理的過程中,空間濾波器(Spatial Filter)是常用的技術。原有的 M×N 影像,在經 過特定空間濾波器的轉換(Transform)計算後,可以產生一張解析度仍為 M×N 的新數位影像。 空間濾波器是由一個權重矩陣(如圖三所示),來定義影像處理的計算方式,權重值可為任何 正負實數。對於影像中任一個在 (x,y)位置的像素(1≤x≤M-2,1≤y≤N-2),其經過某 3×3 空間濾 波器的轉換,在新影像 (x,y)位置產生新像素值 p’(x,y) 的計算方式為: 9 1 1 1 2 2 9 9

'( , ) |

|

|

...

|

i

p x y

Wi Zi

W Z

W Z

W Z

=

=

×

=

+

+

+

圖一、數位影像的座標關係 圖二、像素的相鄰關係 圖三、權重矩陣的空間關係

(6)

個空間相鄰像素,因此不予計算,均以 0 表示;(2)計算結果雖為正實數,但小數部分要以無 條件進位或捨去成整數值;(3)若計算結果超過 255 時,以 255 表示,小於 0 時,以 0 表示; (4)範例以外,另一組測試用的影像其 M、N 值及各像素值、權重矩陣值,可能是任何符合定 義的數值組合。 為使考題較為單純,濾波器權重矩陣固定為 3×3,M、N 均小於 10。所以,程式執行時 請先輸入權重矩陣的數值,再輸入影像的解析度 M 和 N,接著是影像的各行像素值,每一個 數字間以空白間隔。因此,本例子的資料輸入方式為:(以字串方式由 sample.txt 檔中讀入) 0.11 0.11 0.11 0.11 0.11 0.11 0.11 0.11 0.11 5 5 67 100 109 55 109 137 185 92 56 132 158 174 62 89 154 174 182 99 107 133 189 181 119 125 184 螢幕上依序輸出此濾波器轉換後結果影像內容(每一個數字間以逗號及空白做為間隔): 0, 0, 0, 0, 0 0, 120, 102, 95, 0 0, 139, 116, 102, 0 0, 147, 126, 119, 0 0, 0, 0, 0, 0 ☆請注意:測試答案時,會再以其他的 sample.txt 輸入權重及影像內容檢測。 圖四、濾波器權重矩陣 圖五、範例影像 圖六、結果影像

參考文獻

相關文件

媽媽將 651 元平分給 3 個孩子當零用 錢,爸爸又給每個孩子 125 元,請問現 在每個孩子有多少零用錢?. 換你試試看 換你試試看

這些 dimensions 之間的關係, 而這些關係和 ordered basis 的選取無關, 所以 A, B associated λ 的 elementary Jordan matrices 的各個階數的個數會相同, 也就是 A,B 可以化為相同的

每一個泰國年輕男子一生中必須出家做一次僧人,這可是人生中最重要的

在 Java 例外(Exception)處理中,若在 try 區塊中配置一個資源,下述何者正確?(A)至少要 跟隨一個

每個 zone 交由一部 name server負責的作 法會有一個問題,萬一這個 name server 當 掉,可能造成 Internet上其它機器無法取得屬 於這個 zone 的資料(就是 domain name

英國邏輯學家范約翰 英國邏輯學家范約翰 英國邏輯學家范約翰 英國邏輯學家范約翰 (John Venn 1834-1923).

• 在線 (online):程式/演算法 必須對前一個詢問或操作做出

• 在線 (online):程式/演算法 必須對前一個詢問或操作做出