2011年11月28日 星期一

我們的一家都是人


若現在有N張牌,各張牌都不同。
選手若要改變排列順序,只能用「換牌」動作。假設一個「換牌」的動作,可以將順序中的第 1張牌(首牌)與其他牌「交換」位置,形成 1個新的牌組順序。我們現在用 1個長度為 5的字串,表示 1個牌組順序。例如以字串「12345」如果我們進行第 1次「換牌」動作,假設將「牌 1」(首牌)與「牌 5」交換,就形成新的牌組順序「52341」。如果要進行第 2次的「換牌」,就將「牌 5」(首牌)與其他牌交換,即可形成下一個牌組順序。現在給一個「目的地牌組順序」,請從牌組順序「12345」開始,,最後轉換成「目的地牌組順序」。

輸入說明:
第 1行為給定的「起始牌組順序」字串。
第 2行為給定的「目的牌組順序」字串。


輸出說明:第 1行輸出起始牌組順序「 我們的一家都是人」,最後 1行輸出「一家都是我們的人」。第 2行起依序輸出每次「換牌」後的牌組順序。



輸入檔案 1:【檔名:in.txt】
我們的一家都是人
一家都是我們的人



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

我們的一家都是人
家們的一我都是人
們家的一我都是人
都家的一我們是人
的家都一我們是人
是家都一我們的人
一家都是我們的人

2011年11月15日 星期二

摺紙

一張紙0.5cm厚

對折

1次為1cm厚
2次為2cm厚
3次為4cm厚

地球至太陽距離為1億五千萬公里
試問要折幾次才能到達。

棋盤



在棋盤中放稻子
第一格放1個,第2格放2個.....以此類推
到第64個總共有幾個 ?

2011年11月8日 星期二

99正式 Problem 5-2:


若現在有 5張撲克牌,點數分別是 1點至 5點,各張牌的點數都不同,並且 5張牌已依點數由小到大排列。選手若要改變排列順序,只能用「換牌」動作。假設一個「換牌」的動作,可以將順序中的第 1張牌(首牌)與其他牌「交換」位置,形成 1個新的牌組順序。我們現在用 1個長度為 5的字串,表示 1個牌組順序。例如以字串「12345」,表示這 5張牌現在依其點數由小到大排列。如果我們進行第 1次「換牌」動作,假設將「牌 1」(首牌)與「牌 5」交換,就形成新的牌組順序「52341」。如果要進行第 2次的「換牌」,就將「牌 5」(首牌)與其他牌交換,即可形成下一個牌組順序。現在給一個「目的地牌組順序」,請從牌組順序「12345」開始,用最多 10次的「換牌」動作,最後轉換成「目的地牌組順序」。
輸入說明:第 1行為給定的「目的地牌組順序」字串(長度為 5)。
輸出說明:第 1行輸出起始牌組順序「 12345」,最後 1行輸出「目的地牌組順序」。第 2行起依序輸出每次「換牌」後的牌組順序。



輸入檔案 1:【檔名:in1.txt】
21534




輸入檔案 2:【檔名:in2.txt】
31524




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

12345
32145
42135
52134
12534
21534


12345
52341
32541
42531
12534
21534
31524



99正式 Problem 5:特定排序方式的應用


若現在有 8張撲克牌,點數分別是 1點至 8點,各張牌的點數都不同,並且 8張牌已依點數由小到大排列。選手若要改變排列順序,只能用「插牌」動作。假設一個「插牌」的動作,可以將順序中的第 1張牌(首牌)插入其他牌的後面,形成 1個新的牌組順序。我們現在用 1個長度為 8的字串,表示 1個牌組順序。例如以字串「 12345678」,表示這 8張牌現在依其點數由小到大排列。如果我們進行第 1次「插牌」動作,假設將「牌 1」(首牌)放到「牌 5」之後,就形成新的牌組順序「23451678」。如果要進行第 2次的「插牌」,就將「牌 2」(首牌)插入其他牌之後,即可形成下一個牌組順序。現在給一個「目的地牌組順序」,請從牌組順序「12345678」開始,用最多 7次的「插牌」動作,最後轉換成「目的地牌組順序」。
輸入說明:第 1行為給定的「目的地牌組順序」字串(長度為 8)。
輸出說明:第 1行輸出「起始牌組順序」(12345678),最後 1行輸出給定的「目的地牌組順序」。第 2行起依序輸出每次「插牌」後的牌組順序。(答案並非唯一,評分時會逐行檢查正確性。)



輸入檔案 1:【檔名:in1.txt】
62518473


輸入檔案 2:【檔名:in2.txt】
42315678


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

12345678
23456718
34567218
45672183
56721843
67251843
76251843
62518473


12345678
23415678
34215678
42315678

99正式 Problem 4-2:


有一天菜攤上有 8種類型商品,包括「肉」、「菜」、「蛋」、「果」、「魚」、「蝦」、「豆」及「菇」,每種產品單項價格由輸入檔輸入。某個前來購買的客人,共有 k元預算,表示客人的總購買金額不可超過 k元。若客人對於每種類型商品只可選擇買一項或不買,在預算之內,客人共有那些購買組合?
輸入說明:第 1行是客人之預算金額 k,其值為整數,並且不超過 5000元。第 2~9行有各商品的品名及單價,中間以逗號隔開。商品單價均為整數,且不超過 200元。
輸出說明:每行輸出一種符合預算的購買組合及其支出總金額,但不輸出「都不買」的組合。輸出資料(購買的商品組合及其支出總金額)間,以至少 1個空白隔開。若購買組合包括多種商品,則商品間不限制是否有空白相隔。選手請依支出總金額由大到小依序輸出,但支出金額相同之資料,其輸出順序不限。
輸入檔案 1:【檔名:in1.txt

90
肉, 65
菜, 45
蛋, 30
果, 75
魚, 80
蝦, 95
豆, 55
菇, 60



輸入檔案 2:【檔名:in2.txt】
100
肉, 65
菜, 45
蛋, 30
果, 75
魚, 80
蝦, 95
豆, 55
菇, 60

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

蛋菇 90
蛋豆 85
魚 80
果 75
菜蛋 75
肉 65
菇 60
豆 55
菜 45
蛋 30


菜豆 100
蝦 95
肉蛋 95
蛋菇 90
蛋豆 85
魚 80
菜蛋 75
果 75
肉 65
菇 60
豆 55
菜 45
蛋 30


99正式 Problem 4:排列組合的應用


某個菜攤最多有 8種類型的商品出售。當類型齊全時,該 8種商品依序包括「肉」、「菜」、「蛋」、「果」、「魚」、「蝦」、「豆」及「菇」。假設當菜攤進了 n種類型商品,即表示菜攤進了 8種商品中的前 n種類型商品(例如:菜攤進了 3種類型商品,表示進了「肉」、「菜」及「蛋」等 3種商品。)。今將此 n類商品由左至右分類排列,但是:「肉果」、「肉豆」、「肉菇」、「菜蛋」、「菜魚」、「菜豆」、「菜菇」、「蛋果」、「蛋蝦」、「蛋菇」、「果魚」、「果豆」、「果菇」、「魚蝦」、「魚豆」、「魚菇」、「蝦豆」、「豆菇」此 18種商品組合,兩兩不可左右緊鄰放置(其間沒有擺設其他商品)。以第 1組「肉果」為例,「肉」不可放在「果」的「正左邊」或「正右邊」,而兩者之間沒有其他任何商品。在給定 n的條件下,請輸出共有那些商品排列方式。
輸入說明:第 1行的數字表示商品進貨種類 n,而 n的值介於 18之間。
輸出說明:從第 1行起每行輸出 1組符合條件的「商品排列」,每行輸出的「商品排列」間不限制是否有空白相隔,各種排列方式的輸出順序不限。最後 1行輸出總共有多少種排列方式(只輸出數字即可)。
輸入檔案 1:【檔名:in1.txt
3



輸入檔案 2:【檔名:in2.txt】
4


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

菜肉蛋
蛋肉菜
2


蛋肉菜果
果菜肉蛋
2

99正式 Problem 3-2:

請選手判斷輸入檔中的 4行文句,是否存在符合條件的「日期字串」。



在文句中,只可能包括「中文」及「半型數字」,並且不包含任何空白及標點符號。待檢查的「日期字串」格式為「民國 yyymmdd日」,其中「民國」、「年」、「月」及「日」的順序不可改變。屬於年的「 yyy」部分,合法值是「 1~999」,可存在「前置 0」,但其長度僅能是 123位數。例如民國 9年,可表現為「民國 9年」、「民國 09年」或「民國 009年」。關於月份部分,合法值是「1~12」,同樣接受「前置 0」,其長度僅能是 12位數。日期部分的範圍是「 1~31」,亦接受「前置 0」,其長度僅能是 12位數。選手應另注意,符合條件的日期值不應超過該年當月份的最大天數,例如某年某月份有 30天,則符合條件的日期值為 1~30

【註 1】西元年 = 民國年 + 1911 
【註 2】在本題限制的年份中,若其西元年「可被 400整除」或是「可被 4整除而且不被 100整除」,則當年是閏年,其 2月有 29天,否則為 28天。

輸入說明:輸入檔中的第 1~4行,表示待檢查的 4句文句,每行文句均獨立檢查,每句文句不超過 100個字。
輸出說明:依序 4行輸出,分別對應輸入檔第 1~4行文句之檢查結果。若文句中存在符合條件的「日期字串」請輸出「符合」,若不存在時請輸出「不符合」。



輸入檔案 1:【檔名:in1.txt】
他的生日是民國 89 年2 月29 日
她的生日是民國 90 月2 年29 日
民國 90 年3 月25 日是他的到職日
民國 90 年25 日3 月是她的到職日


輸入檔案 2:【檔名:in2.txt】
他的生日是民國 89 年12 月32 日
她的生日是民國 89 年12 月31 日
民國 090 年03 月02 日是他的到職日
民國 1000 年12 月31 日是她的到職日


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

符合
不符合
符合
不符合


不符合
符合
符合
不符合

99正式 Problem 3:字串特徵的判斷

此問題為給定某些文句,請選手判斷這些文句是否符合某些檢查條件?


本子題給定的文句內容只有「英文、數字、空白及標點符號」,並且「沒有」任何全型字。文句中使用的「標點符號」只包括「,」及「.2種。我們定義一個「表示式」,是一個包含若干個「表示符號」的字串。而本題的「表示符號」只包括「 #」、「*」和「$3種。其中, 1個「#」表示 1個「0~9」的數字。另, 1個「*」表示 1個大寫的英文字母,而 1個「$」表示 1個小寫的英文字母。請選手在檢查文句中,找尋是否存在符合某個給定「表示式」的子字串。例如:有個「表示式」為「###**$」,表示為「連續 3個數字,緊接著連續 2個大寫英文字,其後緊接著 1個小寫英文字」。




輸入說明:第 1行表示欲檢查的「表示式」,其長度不超過 20個字。第 2~5行表示待檢查的 4句英文文句,每行文句均獨立檢查,每句文句不超過 100個字。


輸出說明:產生 4行輸出,依序表示輸入檔第 2~5行英文文句的檢查結果。若檢查的文句中存在符合「表示式」的子字串,請輸出「符合」,否則輸出「不符合」。



輸入檔案 1:【檔名:in1.txt】
#***$$
Its password is aXYZ3KBGna.
M16A is a code of a machine gun.
Your employee number is 5AAAbb.
The serial number AQ773276UKD was printed in this case.


輸入檔案 2:【檔名:in2.txt】
*#$#
Its password is M5k3.
This serial number is 63M43Kk.
Her employee number is 8J3m75.
Those item numbers are AQ43 and KM4M.


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

符合
不符合
符合
不符合


符合
不符合
符合
不符合

99正式 Problem 2-2


子題 2.
在一張地圖上標示有 8個城市,分別稱為「城市 1」到「城市 8」。假設地圖上存在若干單行道,這些單行道直接連接 1個起點城市及 1個終點城市。我們以「二維陣列」表示地圖上的城市及單行道的關係:我們設定一個二維陣列,假設陣列名稱為 a,而 a(i, j)表示陣列中的元素,其中 ij的值介於 18之間。當 a(i, j)=1時,表示存在一條直接從「城市 i」到「城市 j」的單行道;若 a(i, j)=0,表示不存在此單行道。問題:在一個給定的陣列資料中,判斷是否存在「正好經過 3條單行道」的道路,該道路從特定的「起點城市」開始,並且在特定的「終點城市」結束。

【註 1】同一條單行道可以在求解的「3條單行道」中重覆使用。
【註 2】若選手找出的道路只使用 1條或 2條單行道,都「不能算」存在此道路。在本題中,
必須是「正好使用 3條單行道」才能算是存在此道路。 
【註 3】為了說明方便,題目中假設陣列名稱為 a,但選手撰寫程式時不限定陣列之命名。
輸入說明:第 1~8行表示城市陣列的元素,每一行分為 8個元素,以「逗號」區隔。第 i行的第 j個元素,表示 a(i, j)的值。例如:第 1行的第 1個元素,表示 a(1, 1)的值;第 1行的第 2個元素,表示 a(1, 2) 的值;第 2行的第 1個元素,表示 a(2, 1) 的值,其餘類推。第 9101112行,每行分別有 2個元素,也是以「逗號」區隔,表示選手需要檢查的 1組「起點城市」及「終點城市」編號(其值均介於 18之間)。每個檔案檢查 4組資料。
輸出說明:共輸出 4行結果,依序表示輸入檔的 4組起訖城市,是否存在「正好經過 3條單行道」的道路?有則輸出「有路徑」,沒有則輸出「沒路徑」。



輸入檔案 1:【檔名:in1.txt】
0, 1, 1, 0, 1, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 1, 1, 0
0, 1, 0, 0, 0, 1, 0, 1
0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 1, 0, 0, 0
0, 1, 0, 1, 0, 0, 0, 0
0, 0, 1, 1, 0, 0, 0, 0
1, 5
2, 3
3, 8
4, 1



輸入檔案 2:【檔名:in2.txt】
0, 0, 1, 0, 1, 0, 1, 0
0, 0, 0, 0, 1, 1, 0, 0
0, 0, 0, 0, 0, 1, 0, 1
0, 0, 0, 0, 0, 0, 1, 0
0, 0, 0, 1, 0, 1, 0, 0
0, 0, 0, 0, 0, 0, 1, 0
0, 0, 0, 0, 0, 0, 0, 1
1, 1, 0, 0, 0, 0 ,0, 0
1, 7
2, 5
3, 6
4, 7

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

有路徑
沒路徑
有路徑
沒路徑


有路徑
沒路徑
有路徑
沒路徑


99正式 Problem 2:資料表示方式的應用

子題 1. 11%)【使用路徑:c:\Problem2\子題 1\】【程式名稱p21】在圖形結構中,有一種特別的圖形,稱之為「樹狀圖」。在一個樹狀圖中,包含若干個「節點」,每個節點和它的「上一層節點」及「下一層節點」各有一個「邊」相連。每個節點有「 1個」或是「沒有」上一層節點,同時也可能有「1個」、「多個」或是「沒有」下一層節點。這些節點中,只有 1個節點沒有上一層節點,所以它是最頂層的節點,我們稱之為「樹根」。其他「非樹根」的節點,都有 1個上一層節點,我們稱這些「上一層節點」是該節點的「父親」,而自己則稱為「父親」節點的「兒子」。在樹狀圖中,有若干節點沒有任何「兒子」節點,我們稱之為「樹葉」。現在給定一個樹狀圖資料,請選手輸出所有「樹葉」節點,並輸出從「樹根」到該樹葉,最少要經過幾個「邊」。


舉例,由圖 2-1這個樹狀圖來說,「節點 a」是樹根。另外,「節點 d」、「節點 e」和「節點 g」三者是樹葉,因為它們都沒有「兒子」節點。從樹根到「節點 d」至少要經過 2個「邊」;到「節點 e」至少要經過 2個「邊」;到「節點 g」至少要經過 3個「邊」。



輸入說明:第 1行表示樹狀圖共有多少個節點(節點總數不超過 100個),第 2行起每行包括 1個節點資料。每行的節點資料包括 2個符號,以逗號隔開:第 1個符號為「節點名稱」,第 2個符號為其「父親名稱」。若是「樹根」節點,其父親表示為「---3個連續減號。
輸出說明:輸出所有「樹葉」節點,並輸出從「樹根」到該「樹葉」至少需經過的「邊」的個數。每行輸出 1組「樹葉」及「至少經過的『邊』的個數」資料,其間以空白隔開,各「樹葉」節點輸出之順序不限。
輸入檔案 1:【檔名:in1.txt

11 
A, ---
B, A
C, A
D, B
E, B
F, C
G, E
H, G
I, G
J, I
K, I



輸入檔案 2:【檔名:in2.txt】
12
A, ---
B, A
C, A
D, A
E, B
F, B
G, C
H, C
I, D
J, D
K, E
L, E

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



D 2
H 4
J 5
K 5
F 2
K 3
L 3
F 2
G 2
H 2
I 2
J 2


99正式 Problem 1-2:

本試題輸入檔為一篇中文文章,文章內容可能包括「中文」及若干「全型符號」。文章中可能使用的「全型符號」包括「,」、「。」、「;」、「、」、「!」及「?」6種。在中文中有若干文字,如「臺」與「台」,在某些時候意義相同,但在本題中,只要是字碼不同,選手都應視為「不同字」處理。請由程式讀入給定的中文文章,並作以下的統計:



子題 2. 8%)【使用路徑:c:\Problem1\子題 2\】【程式名稱p12】請選手在讀入的文章中,統計「出現次數最多」且「包含 2個中文字」的「詞」。在文章中,假設所有「兩兩相鄰的中文字」均可視為一個「詞」。本題所要統計的「詞」,只包括 2個中文字,其中不包含任何「全型符號」;我們也假設,一個「詞」不一定只出現在同一行中,也可能被切斷分隔在文章的前、後 2行。例如,有一篇文章內容為:
我們是學生。今天要上學。
在此文章中,所有包括 2個字的「詞」有:「我們」、「們是」、「是學」、「學生」、「生。」、「。今」、「今天」、「天要」、「要上」、「上學」及「學。」共 11組。雖然有些「詞」並不具明顯意義,如:「們是」、「是學」、「天要」及「要上」,但本題仍將其視為一種「詞」,並加入統計。但是「生。」、「。今」及「學。」等 3者,因為其中包括「全型符號」,則不算是「詞」,不列入統計。請選手統計並輸出出現次數最多、只包括 2個中文字的「詞」。輸入說明:第 1行表示文章的行數,第 2行開始為文章的內容。文章不超過 20行,每行不超過 50個中文字(含符號),而文章總字數不超過 1000字。
輸出說明:若統計結果只有「 1個」最多出現次數者,則以 1行輸出「出現次數最多的『詞』」及其「出現次數」。但若有「多個」最多出現次數者,則以多行輸出。每一行輸出 1個「詞」及其「出現次數」,輸出資料間以至少 1個空白隔開。
輸入檔案 1:【檔名:in1.txt
8


為達成永續發展的目標,行政院規劃六年國家重點發展計畫,由教育部規劃的永續
校園推廣計畫,為建立一個進步、安全、衛生、健康、人性化的學習環境空間為,
並於擴大內需刺激景氣的期程內,加速推行校園公共工程改造計畫,藉由突破傳統
校園封閉的環境與制式管理原則下,整合社區共同意識、建立社區風貌、拓展生態
旅遊等課題,改造校園環境成為具有社區特質的公共活動空間,結合校園綠色技術
實施應用,轉化國內相關產業技術,進而增進綠色產業推廣效益,落實擴大內需進
而促進產業升級與提振國內景氣之功效,從而發揮永續台灣、環境教育之積極意義
與促成教育改革之目的。
輸入檔案 2:【檔名:in2.txt
8

台灣地區資源短缺,興建大型水庫使用現階段推行不易,替代水源的之開發與再利用
已成為未來資源開發的之重要途徑,推動節約用水,推廣再利用的中水系統,
使全國平均之人均用水量逐步降至每日使用二百五十公升以下。落實國家水資源永
續經營之理念,水利署推動雨水利用及生活雜排水回收再使用增加替代水源使用,
並委託台灣雨水利用協會針對學界及各級學校相關人員,依各縣市所在之地理位置劃分
北中南三區各辦理一場次雨水貯集使用及生活雜排水再利用講習演討會議,將邀請國內相關
領域有豐碩成果與使用經驗之專家學者擔任主講員,對國內教育單位相關人員,以水資源
永續利用、雨水貯集利用、生活雜排水再使用及節約用水等議題進行講習與研討。
輸出檔案:【檔名:out.txt
校園 5

利用 7
使用

99正式 Problem 1:文章的用字統計

本試題輸入檔為一篇中文文章,文章內容可能包括「中文」及若干「全型符號」。文章中可能使用的「全型符號」包括「,」、「。」、「;」、「、」、「!」及「?」6種。在中文中有若干文字,如「臺」與「台」,在某些時候意義相同,但在本題中,只要是字碼不同,選手都應視為「不同字」處理。請由程式讀入給定的中文文章,並作以下的統計:



子題 1. 8%)【使用路徑:c:\Problem1\子題 1\】【程式名稱:p11】請統計文章中使用的「中文字」及其「出現次數」。文章中除了「中文字」,其餘符號均不列入統計。請選手輸出「出現次數最多」的中文字及其出現次數。若有多個中文字之統計次數均為「最多」時,請將其全部輸出,其輸出之前後順序不限制。
輸入說明:第 1行表示文章的行數,第 2行開始為文章的內容。文章不超過 20行,每行不超過 50個中文字(含符號),而文章總字數不超過 1000字。
輸出說明:若統計結果只有「 1個」最多出現次數者,則以 1行輸出最多出現次數的「中文字」及其「出現次數」。但若有「多個」最多出現次數者,則以多行輸出。每一行資料輸出 1個「中文字」及其「出現次數」,輸出資料間以至少 1個空白隔開。
輸入檔案 1:【檔名:in1.txt
8

為達成永續發展的目標,行政院規劃六年國家重點發展計畫,由教育部規劃的永續
校園推廣計畫,為建立一個進步、安全、衛生、健康、人性化的學習環境空間為,
並於擴大內需刺激景氣的期程內,加速推行校園公共工程改造計畫,藉由突破傳統
校園封閉的環境與制式管理原則下,整合社區共同意識、建立社區風貌、拓展生態
旅遊等課題,改造校園環境成為具有社區特質的公共活動空間,結合校園綠色技術
實施應用,轉化國內相關產業技術,進而增進綠色產業推廣效益,落實擴大內需進
而促進產業升級與提振國內景氣之功效,從而發揮永續台灣、環境教育之積極意義
與促成教育改革之目的。


輸入檔案 2:【檔名:in2.txt
8

台灣地區資源短缺,興建大型水庫使用現階段推行不易,替代水源的之開發與再利用
已成為未來資源開發的之重要途徑,推動節約用水,推廣再利用的中水系統,
使全國平均之人均用水量逐步降至每日使用二百五十公升以下。落實國家水資源永
續經營之理念,水利署推動雨水利用及生活雜排水回收再使用增加替代水源使用,
並委託台灣雨水利用協會針對學界及各級學校相關人員,依各縣市所在之地理位置劃分
北中南三區各辦理一場次雨水貯集使用及生活雜排水再利用講習演討會議,將邀請國內相關
領域有豐碩成果與使用經驗之專家學者擔任主講員,對國內教育單位相關人員,以水資源
永續利用、雨水貯集利用、生活雜排水再使用及節約用水等議題進行講習與研討。
輸出檔案:【檔名:out.txt
7

17 
17 

2011年11月7日 星期一

99模擬 Problem 5-2

子題2(8%):如果有一個正整數n,其值等於所有n 的因數(除了n 以外)之總合,則n 稱為「完美數」(Perfect number)。在此計算中,其「因數」不限制為「質因數」。請輸出2 到數字k 之間的完美數。

輸入說明:
第1 行有1 個數字,代表k 的值。而k 的值不超過50000。

輸出說明:
每行輸出1 個範圍內的完美數,依其值由小到大輸出。

輸入範例:【檔名:in-5-2.txt】
10000

輸出範例:【檔名:out-5-2.txt】
6
28
496
8128

99模擬 Problem 5(8%):傳統數學問題的解決

Problem 5(8%):傳統數學問題的解決
子題1:給定若干個數字,將它們依序排成一個頭、尾相接的環形。如果我們從某一數字開
始點名,每次點名後再往後跳2 個數字繼續點名(中間間隔1 個未被點名的數字)。已經被點
到名的數字不可再點,直到剩下最後一個「未點名」的數字時才停止。請問最後的數字為何?
輸入說明:
第1 行依序給定最多20 個要點名的數字,各數字之間以逗號隔開。
第2 行有1 個數字,是「開始點名」的數字。
輸出說明:
第1 行輸出最後一個未點名的數字。
輸入範例:【檔名:in-5-1.txt】
5, 3, 7, 11, 4, 2, 1, 8, 9
8
輸出範例:【檔名:out-5-1.txt】
9

99模擬 Problem 4:排列組合的應用

Problem 4:排列組合的應用
子題1(11%):一個菜販有「肉」、「菜」、「蛋」、「果」4 類商品,在菜攤上「分類」排列出售,各項商品可由輸入檔讀入其「每公斤利潤」。有一天,菜販忘了商品在菜攤的排列方式,只知道今天各類商品由左至右出售的「公斤數」,其資料選手也可由輸入檔讀入。在不知道今天商品排列的情況下,請選手將所有的排列方式逐一代入計算,依總利潤之高低順序,由高而低,輸出所有排列方式及其總利潤。

輸入說明:
第1 行有4 組數字,以逗號隔開,分別表示「肉」、「菜」、「蛋」、「果」每公斤的利潤。
第2 行有4 組數字,以逗號隔開,表示今天菜攤由左至右各類商品出售之公斤數。

輸出說明:
依總利潤之高低順序,每1 行輸出1 組排列方式及其總利潤,資料間至少以1 個空白隔開。
若有總利潤相同者,其前後輸出順序不拘。

輸入範例:【檔名:in-4-1.txt】
70, 32, 18, 42
43, 24, 21, 39
輸出範例:【檔名:out-4-1.txt】
肉菜蛋果 5794
肉蛋菜果 5752
果菜蛋肉 5682
肉果蛋菜 5644
果蛋菜肉 5640
肉蛋果菜 5572
菜果蛋肉 5492
菜蛋果肉 5420
肉果菜蛋 5392
肉菜果蛋 5362
蛋果菜肉 5184
蛋菜果肉 5154
果肉蛋菜 5112
菜肉蛋果 5072
果蛋肉菜 4956
菜蛋肉果 4916
果肉菜蛋 4860
蛋肉菜果 4764
果菜肉蛋 4746
蛋菜肉果 4650
菜肉果蛋 4640
蛋肉果菜 4584
菜果肉蛋 4556
蛋果肉菜 4500