2012年10月25日 星期四

VB101正副選手考2 (2012.10.24考試)

VB101正副選手考2 (2012.10.24考試)
1.數獨
「數獨sudoku」來自日文,但概念源自「拉丁方塊」,是十八世紀瑞士數學家歐拉發明的。其遊戲規則為: 在九個九宮格裡,填入1到9的數字,讓每個數字在每個行、列及九宮格裡都只出現一次。謎題中會預先填入若干數字,其他宮位則留白,玩家得依謎題中的數字分佈狀況,邏輯推敲出剩下的空格裡是什麼數字,範例如下圖所示。請設計一個程式,可以幫助玩家提示空格中尚可填入的數字。例如:第5行第3列的位置尚可填入1這個數字;第6行第7列的位置尚可填入7與8這兩個數字;而第5行第5列的位置已有數字填入則輸出0。

輸入說明:輸入的第一列到第九列為數獨資料,每一列由九個數字所組成。數字1到9為已填入的數值,0代表尚未填入數值的空格,每個數字與數字間的區隔為一個空白符號。第十列及以後的資料為要提示位置的座標(座標的定義方式為右上角為9 1,左下角為1 9,第一個數字代表行,第二個數字代表列),當為0 0時表示結束。(請參照輸入範例)

輸入範例:test3.txt

4 0 0 8 0 5 0 1 0
2 0 0 0 0 9 0 8 0
6 0 8 0 0 3 4 9 0
0 0 5 0 2 0 6 0 0
0 0 1 0 7 0 9 0 0
0 0 7 0 8 0 3 0 0
0 9 0 1 0 0 0 0 2
0 8 0 4 0 0 0 0 9
0 3 0 6 0 2 0 0 7
5 3
6 7
5 5
0 0

輸出說明:每個提示位置有一列輸出結果,表示尚可填入的數字,請由小到大排列。每個數字與數字間的區隔為一個空白符號。若該位置已有填入數字,或找不到提示的數字則輸出0。(請參照輸出範例)
輸出範例:result3.txt
1
7 8
0


2.保齡球計分板

在世界各地,保齡球是相當受歡迎的運動項目之一,藉著球道上滾動的球,來碰倒球道上的球瓶,勝負以擊倒球瓶之多寡的計分來判定。請你根據下面的計分規則,寫一個保齡球
計分程式,規則如下:
一、每一局共10 格,依序完成每1 格。
二、每格的分數將累計到下1 格。
三、第1 至9 格之計分:每1 格在2 球以內,將全部10 個球瓶擊倒為原則,分數計算方式可分為:
一、 全倒(Strike):第1 球就將全部球瓶擊倒,即完成一格。分數計算分式為10 分,再加上下2 球的擊倒瓶數。
二、補全倒(Spare):第1 球未全倒時,再打1 球將剩餘球瓶全部擊倒。分數計算方式為10 分,再加下1 球的擊倒瓶數。
三、打完第 1 球後,第2 球如未將剩餘之球瓶全部擊倒,分數為第1 球加第2 球擊倒之球瓶數。
四、第10 格計分方法:如果前2 球為全倒或補全倒,可再加打1 球,最多打3 球。
五、計分劃記的符號代表意義如下:
1. 全倒以記號『X』來代表。
2. 補全倒以記號『/』來代表。
3. 數字代表擊倒的球數。
4. 擊倒球數為 0 時以『-』來代表。

舉例來說:
每格擊球 7- 8/ X 8- X X X X X 8/9
分數 7 27 45 53 83 113 143 171 191 210
輸入說明:
第一行的數字,表示有幾個計分板要計分,第二行開始的每一行,為一個獨立的計分板。
每一行包含10 格擊球結果。每格以一個空白作為區隔。
輸出說明:
對輸入的每個計分板,分別計算出後的總分數。
輸入範例:
2
7- 8/ X 8- X X X X X 8/9
X X X X X X X X X XXX
輸出範例:
210
300


3.Lotto

為了呼應台灣電腦彩券的發行,我們再次推出跟組合有關的題目。你在買彩券的時候一定會挑你喜歡的數字吧!(雖然理論上不會增加你的中獎機率,但是你還是會選擇你的Lucky Number)我們的問題是:假設共有49個號碼,而你必須在你的 k (k>6)個Lucky Number中挑6個號碼作為一張彩券的數字組合。例如:你的Lucky Number的集合是{1,2,3,5,8,13,21,34}以就是說 k=8 ,那麼你就有C(8,6)=28種可能的彩券組合:
[1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34].

你的任務是讀入k以及Lucky Number的集合,然後輸出所有可能的組合。

輸入說明 :
每筆測試資料一行,每行的第1個整數代表 k( 6 < k < 1 3 ) 。 接下來的k個整數代表Lucky Number的集合,此集合已經按數字由小到大排好。k=0代表輸入結束。

輸出說明 :
對每一筆測試資料,輸出其所有可能的組合,每個組合一行。請注意輸出組合的順序需由小到大排列。測試資料之間請空一行。請參考Sample Output。

範例輸入 :

7 1 2 3 4 5 6 7
8 1 2 3 5 8 13 21 34
0
範例輸出 :

1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 4 5 6 7
1 3 4 5 6 7
2 3 4 5 6 7

1 2 3 5 8 13
1 2 3 5 8 21
1 2 3 5 8 34
1 2 3 5 13 21
1 2 3 5 13 34
1 2 3 5 21 34
1 2 3 8 13 21
1 2 3 8 13 34
1 2 3 8 21 34
1 2 3 13 21 34
1 2 5 8 13 21
1 2 5 8 13 34
1 2 5 8 21 34
1 2 5 13 21 34
1 2 8 13 21 34
1 3 5 8 13 21
1 3 5 8 13 34
1 3 5 8 21 34
1 3 5 13 21 34
1 3 8 13 21 34
1 5 8 13 21 34
2 3 5 8 13 21
2 3 5 8 13 34
2 3 5 8 21 34
2 3 5 13 21 34
2 3 8 13 21 34
2 5 8 13 21 34
3 5 8 13 21 34


2012年10月19日 星期五

101資訊月



日 期:101 年 11 月 03 日(星期六)
地 點:僑光科技大學 圖資大樓 (台中市西屯區僑光路100號)
時間
競賽程序
14:00~14:15
報到 (第四場至第六場)
14:20~15:20

數位內容簡報 (第四場至第五場)
創意軟體設計 (第六場)
競賽時間/教室           
競賽教室 三
(906教室)

14:20~15:20

(第六場)
創意軟體設計
(VB程式設計)


>報到處:圖資大樓1樓
>休息區:圖資大樓1樓
>競賽教室一:圖資大樓 9樓 918教室
>競賽教室二:圖資大樓 9樓 908教室
>競賽教室三 :圖資大樓 9樓 906教室
各場次選手請於競賽場次前15分鐘報到,再依引導進入各競賽教室。
請各選手攜帶學生證或身份證準時報到參賽,逾時以棄權論。

2012年10月15日 星期一

VB101程式小考

VB101程式小考


1.若一個魔方陣 方格內的數均為質數,則稱此為質數魔方陣。
 已知在小於120的質數中,可以組成一個3階的質數魔方陣。
 請寫程式,找出這個3*3的質數魔方陣。
 輸出參考:
 107,131,29
 11  ,89 ,167
 149,47,71
 (註1:這是另一個小於170質數的質數魔方陣。)

2.觀察下列兩個等式有何規律?
       (1)12 ×42=21 ×24  
       (2)13 ×62=31 ×26
 利用你所發現的規律,請寫程式再找出3個類似的等式(兩數皆為兩位數)!

3.1202年,義大利數學家斐波那契出版了他的「算盤全書」。
他在書中提出了一個關於兔子繁殖的問題:
如果一對兔子每月能生一對小兔(一雄一雌),而每對小兔
在牠出生後的第三個月裡,又能開始生一對小兔,假定在
不發生死亡的情況下,由一對出生的小兔開始,30個月後會有
多少對兔子?


請在時間到時,或是,寫完程式時,將程式及解答一併貼出來。
(只貼一次,若有意外,也請不要刪除前次貼文)

2012年10月2日 星期二

100正式Problem 2-2:二維陣列的應用


假設地圖上的每個小單位都有一個(x, y)座標,其中x 代表該單位的橫列值,y 代表縱列值。地圖上「最左上角」的小單位其座標值是(1, 1),該橫列第15 個小單位其座標值是(1,
15);第15 個橫列的第1 個小單位是(15, 1),該橫列最後1 個小單位是(15, 15)。如果我們任意給定地圖上「起點」及「終點」的座標,在地圖上此兩點均為「空白」,請問從起點到終點,在最多只能通過若干個空白單位的限制條件下,是否有可通行的路徑?(任一單位只能透過上、下、左、右四個方向連到下一單位。)
輸入說明:
第 1 行是最多能通過的空白單位數目(不包括起點及終點)。
第 2~16 行是地圖的資料,依序代表地圖上的每個橫列。每行有15 個符號,依序代表地圖上
每個橫列的15 個小單位。若符號為「0」,表示該單位為「空白」;若為「1」,表示已「填色」。
第 17 行為空行。
第 18、19 行是檢測第1 組資料。
第 18 行是「起點座標」,第1 個數字是起點的x 座標,空格後接著「y 座標」。
第 19 行是「終點座標」,第1 個數字是終點的x 座標,空格後接著「y 座標」。
第 20 行為空行。
第 21、22 行是檢測第2 組資料。
第 21 行是「起點座標」,第1 個數字是起點的x 座標,空格後接著「y 座標」。
第 22 行是「終點座標」,第1 個數字是終點的x 座標,空格後接著「y 座標」。
輸出說明:
第 1、2 行是輸入檔案1 的檢查結果。
第 1 行輸出第1 組檢測資料,在通過空白單位數目限制下,是否有可通行的路徑,若有則輸
出「TRUE」,沒有則輸出「FALSE」。
第 2 行輸出第2 組檢測資料的檢查結果,其值是「TRUE」或「FALSE」。
第 3 行是空白。
第 4、5 行是輸入檔案2 的檢查結果。
第 4 行輸出第1 組檢測資料的檢查結果,其值是「TRUE」或「FALSE」。
第 5 行輸出第2 組檢測資料的檢查結果,其值是「TRUE」或「FALSE」。
(輸出均為大寫,選手請注意。)
輸入檔案 1:【檔名:in1.txt】
15
011111110010000
000000000010000
000001000010000
000001000011110
000001000010010
111110100010100
000001011000100
000001001000100
100001001011111
100000001000000
100111111111111
100000100110000
100000100001000
100000000001000
100000000001000
3 3
5 13
14 11
8 5
輸入檔案 2:【檔名:in2.txt】
15
010000000000000
010000000111100
010000000100100
000000000100100
111111111100100
000001000000100
000001001000100
000001001000100
000001001000100
000001001000000
000001001111111
000001000100000
000001000100000
000001000100000
000000000100000
3 3
6 3
10 7
10 10
輸出檔案:【檔名:out.txt】
FALSE
TRUE

FALSE
TRUE

100模擬Problem 2-2:二維陣列的應用


子題 2:假設地圖上的每個小單位都有一個(x, y)座標,其中x 代表該單位的橫座標,y 代表縱座標。地圖上「最左上角」的小單位其座標值是(1, 1),該橫列第15 個小單位其座標值是(1, 15);第15 個橫列的第1 個小單位是(15, 1),該橫列最後1 個小單位是(15, 15)。
如果我們任意給定地圖上「起點」及「終點」的座標,在地圖上此兩點均為「空白」,請問從起點到終點是否有可通行的路徑?
輸入說明:
前15 行是地圖的資料,依序代表地圖上的每個橫列。每行有15 個符號,依序代表地圖上每
個橫列的15 個小單位。若符號為「0」,表示該單位為「空白」;若為「1」,表示已「填色」。
第16 行為空行。
第17、18 行是檢測第1 組資料。
第17 行是「起點座標」,第1 個數字是起點的x 座標,空格後接著「y 座標」。
第18 行是「終點座標」,第1 個數字是終點的x 座標,空格後接著「y 座標」。
第19 行為空行。
第20、21 行是檢測第2 組資料。
第20 行是「起點座標」,第1 個數字是起點的x 座標,空格後接著「y 座標」。
第21 行是「終點座標」,第1 個數字是終點的x 座標,空格後接著「y 座標」。
輸出說明:
第1 行輸出第1 組檢測資料是否有可通行的路徑。若有則輸出「TRUE」,沒有則輸出「FALSE」。
第2 行輸出第2 組檢測資料的檢查結果,同樣是「TRUE」或「FALSE」。
(輸出均為大寫,選手請注意。)
輸入範例:【檔名:in-2-2.txt】
011111110010000
000000000010000
000001000010000
000001000011110
000001000010010
111110100010100
000001011000100
000001001000100
100001001011111
100000001000000
100111111111111
100000100110000
100000100001000
100000000001000
100000000001000

3 3
5 13

14 11
2 14
輸出範例:【檔名:out-2-2.txt】
TRUE
FALSE

2012年10月1日 星期一

100正式Problem 2-1:二維陣列的應用

子題 1:(程式執行限制時間: 3 秒) 12 分
有一長及寬均是 15 公分的正方形地圖,其長及寬各以1 公分為長度畫分為15 個小單位,而地圖內共有225 個單位。在這些單位中,有的已被填色,有的是空白。被「填色」的單位代表其「不可通過」,而「空白」的單位則「可通行」。假設地圖上「最左上角」及「最右下角」分別代表「起點」及「終點」,起、迄兩點一定是「空白」,請問從起點到終點,在最多只能通過若干個空白單位的限制條件下,是否有可通行的路徑?(任一單位只能透過上、下、
左、右四個方向連到下一單位。)
輸入說明:
第 1 行是最多能通過的空白單位數目(不包括起點及終點)。
第 2~16 行是第1 張地圖的資料,依序代表地圖上的每個橫列。每行有15 個符號,依序代表
地圖上每個橫列的15 個小單位。若符號為「0」,表示該單位為「空白」;若為「1」,表示已「填色」。
第 17 行為空行。
接著另有 15 行資料,代表第2 張地圖,其表示方式和第1 張地圖相同。
輸出說明:
第 1、2 行是輸入檔案1 的檢查結果。
第 1 行輸出第1 張地圖在條件限制下是否有可通行的路徑,若有則輸出「TRUE」,沒有則輸
出「FALSE」。
第 2 行輸出第2 張地圖的檢查結果,其值是「TRUE」或「FALSE」。
第 3 行是空白。
第 4、5 行是輸入檔案2 的檢查結果。
第 4 行輸出第1 張地圖的檢查結果,其值是「TRUE」或「FALSE」。
第 5 行輸出第2 張地圖的檢查結果,其值是「TRUE」或「FALSE」。
(輸出均為大寫,選手請注意。)
輸入檔案 1:【檔名:in1.txt】
40
011111110010000
000000000010000
000001000010000
000001000010000
000001000010000
111101000010000
000001011000000
000001000000000
100001000011111
100000000000000
100111111111110
100000000000000
100000000001000
100000000001000
100000000001000

011111110010000
000000000010000
000001000010000
000001000011110
000001000010010
111110100010100
000001011000100
000001001000100
100001001011111
100000001000000
100111111111111
100000100110000
100000100001000
100000000001000
100000000001000
輸入檔案 2:【檔名:in2.txt】
40
000000000000111
100011111110000
100010000000000
111110000000000
100000000000000
100010111111111
100010000000000
100010001111000
101010001001000
101110001001000
100000001001000
111111111001000
000000000001000
000000000001000
000000000000110

010000000000000
010000000111100
010000000100100
000000000100100
111111111100100
000001000000100
000001001000100
000001001000100
000001001000100
000001001000000
000001001111111
000001000100000
000001000100000
000001000100000
000000000000000

輸出檔案:【檔名:out.txt】
TRUE
FALSE

TRUE
FALSE

100模擬Problem 2-1:二維陣列的應用


子題1:有一長及寬均是15 公分的正方形地圖,其長及寬各以1 公分為長度畫分為15 個小單
位,因此地圖內共有225 個單位。在這些單位中,有的已被填色,有的是空白。被「填色」
的單位代表其「不可通過」,而「空白」的單位則「可通行」。假設地圖上「最左上角」及「最左下角」分別代表「起點」及「終點」,起、迄兩點一定是「空白」,請選手判斷從起點到終點是否有可通行的路徑?(路徑沒有方向性,每個空白單位也不限制經過幾次。)
輸入說明:
前15 行是第1 張地圖的資料,依序代表地圖上的每個橫列。每行有15 個符號,依序代表地
圖上每個橫列的15 個小單位。若符號為「0」,表示該單位為「空白」;若為「1」,表示已「填色」。
第16 行為空行。
接著另有15 行地圖的資料,代表第2 張地圖的資料,其表示法和第1 張地圖相同。
輸出說明:
第1 行輸出第1 張地圖在起、迄兩點間是否有可通行的路徑?若有則輸出「TRUE」,沒有則
輸出「FALSE」。
第2 行輸出第2 張地圖的檢查結果,同樣是「TRUE」或「FALSE」。
(輸出均為大寫,選手請注意。)
輸入範例:【檔名:in-2-1.txt】
011111110010000
000000000010000
000001000010000
000001000010000
000001000010000
111101000010000
000001011000000
000001000000000
100001000011111
100000000000000
100111111111110
100000000000000
100000000001000
100000000001000
100000000001000

011111110010000
000000000010000
000001000010000
000001000011110
000001000010010
111110100010100
000001011000100
000001001000100
100001001011111
100000001000000
100111111111111
100000100110000
100000100001000
100000000001000
100000000001000
輸出範例:【檔名:out-2-1.txt】
TRUE
FALSE