2011年6月9日 星期四

文字抄寫

內容 : 
從機器中,不斷地出現4個英文字母的單字,現在要你抄寫下來,
倘若這個單字已經出現過,則會使用編號上的號碼直接書寫
倘若這個單字沒有出現過,則會賦予單字一個新的號碼


每組新的測資,代表不同事件,請勿將其納入新的號碼
輸入說明 :
每組輸入的第一行 , 有一個數字 N (1≦N≦105),接下來會有瘋狂科學家講出的N行單字,每行由小寫字母a到z所構成的4字單字.

輸出說明 :
若這個字串之前已經出現過,則輸出號碼,若沒有則輸出它將被編寫的號碼.
範例輸入 :
5 
eine 
isis 
zwei 
drei 
zwei
範例輸出 :
New! 1 
New! 2 
New! 3 
New! 4 
Old! 3

http://chscvb.blogspot.com/2010/09/blog-post_11.html

解碼器

內容 :


  在密碼學裡面有一種很簡單的加密方式,就是把明碼的每個字元加上某一個整數K而得到密碼的字元(明碼及密碼字元一定都在ASCII碼中可列印的範圍內)。例如若K=2,那麼apple經過加密後就變成crrng了。解密則是反過來做。這個問題是給你一個密碼字串,請你依照上述的解密方式輸出明碼。


至於在本任務中K到底是多少,請自行參照Sample Input及Sample Output推出來吧!相當簡單的。


輸入說明 :
每筆測試資料一列。每列有1個字串,就是需要解密的明碼。
輸出說明 :
對每一測試資料,請輸出解密後的密碼。
範例輸入 :


1JKJ'pz'{ol'{yhklthyr'vm'{ol'Jvu{yvs'Kh{h'Jvywvyh{pvu5
1PIT'pz'h'{yhklthyr'vm'{ol'Pu{lyuh{pvuhs'I|zpulzz'Thjopul'Jvywvyh{pvu5


範例輸出 :


*CDC is the trademark of the Control Data Corporation.
*IBM is a trademark of the International Business Machine Corporation.

竊車問題 (Lostcar)



一位警察發現了一些可疑的機車,為了查明這些可疑的機車是否為失竊機車,他需將這些機車的車號與警政署的失竊機車檔案比對。請寫一程式來幫助這位警察找出哪些是失竊的機車。


條件限制
警察發現的可疑機車不超過20輛。 
警政署的失竊機車檔案中最多為100輛機車資料。 


輸入檔格式
第一行有兩個整數n和m,中間以一個空白分開。n為發現的可疑機車數目,m為失竊機車檔案中機車的數目。接下來的n行,每行有一可疑機車的車號,車號以六個字元表示。再接下來的m行,則為失竊機車資料,每行有三項資料,各項資料間以一個空白隔開;第一項資料(欄位1~6)為機車車號,第二項(欄位8~13)為該車外觀顏色,第三項(欄位15~20)為該車車主姓名。


輸出檔格式 
請依車牌的順序(英文字母由A~Z)依序印出找到的失竊機車資料。


輸入範例
4 6
PIG222
WIN555
SAD321
JOY866
DOG999 RED CHANG 
JOY355 BLUE LEE 
SAD321 YELLOW WANG 
FOX555 WHITE WU 
WIN555 BROWN HO 
PIG222 BLACK LIN 


輸出範例


PIG222 BLACK LIN 
SAD321 YELLOW WANG
WIN555 BROWN HO 

最長共同子序列



給2 個字串,請你輸出他們的最長共同子序列(longest common subsequence)的長度。
也就是說,在這兩個字串各自所有的子序列之中,內容相同而且長度最長的那個子序列。舉
例來說有兩個字串abcdgh 和aedfhr,它們的最長共同子序列為adh,長度為3。
輸入說明:
輸入檔含有多筆測試資料,每筆測試資料為二行字串,每行最多有 1000 個字元。
輸出說明:
對輸入的每筆測試資料,輸出它們最長共同子序列的長度。
輸入範例:
a1b2c3d4e
zz1yy2xx3ww4vv
abcdgh
aedfhr
輸出範例:
4
3

字串處理

給一個字串,請寫一個程式,計算此字串中,英文字元有幾個?
輸入說明:
輸入檔第一行表示有幾組測試資料,第二行開始的每一行即為一筆測試資料,每行最多
有1000 個字元。
輸出說明:
對每一筆測試資料,輸出字串英文字元的個數。
輸入範例:
2
abc123def456
133adfag3428a2fwqgq2
輸出範例:
6
11

2011年6月1日 星期三

自動販賣機

自動販賣機的物品價格為10-25元,銅板種類1,5,10,50四種,讀取"in.txt"物品價格,計算可能的投幣方式與需找回的零錢。
輸入範例:

11
輸出範例: 

1*11=11 找0元
1*6+5*1=11 找0元
1*1+5*2=11 找0元
5*3=15 找4元
1*1+10*1=11 找0元
5*1+10*1=15 找4元
10*2=20 找9元
50*1=50 找39元
出自 程式設計隊訓練教材

2011年5月30日 星期一

攜帶容器裝水

現有容器容量分別為3公升、5公升、10公升、20公升以及40公升等五種,容器個數不限。輸入一欲帶回的公升數,計算出需攜帶的容器容量最小(x)、個數最少(y)與未裝滿容量最小(z),x+y+z最小之組合,若有相同者,均需要列出。
輸入格式:0~60之整數
輸出格式:(總個數):由大至小排列使用容器。


輸入範例:

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
 47 
 48 
 49 
 50 
 51 
 52 
 53 
 54 
 55 
 56 
 57 
 58 
 59 
 60 


輸出範例:



(1) 3
(1) 3
(1) 3
(1) 5
(1) 5
(2) 3 3
(2) 3 5
(2) 3 5
(3) 3 3 3
(2) 5 5
(3) 3 3 5
(2) 3 10
(2) 3 10
(4) 3 3 3 5
(2) 5 10
(3) 3 3 10
(3) 3 5 10
(3) 3 5 10
(4) 3 3 3 10
(2) 3 20
(2) 3 20
(2) 3 20
(2) 3 20
(2) 5 20
(2) 5 20
(3) 3 3 20
(3) 3 5 20
(3) 3 5 20
(4) 3 3 3 20
(3) 5 5 20
(4) 3 3 5 20
(3) 3 10 20
(3) 3 10 20
(5) 3 3 3 5 20
(3) 5 10 20
(4) 3 3 10 20
(4) 3 5 10 20
(4) 3 5 10 20
(5) 3 3 3 10 20
(2) 3 40
(2) 3 40
(2) 3 40
(2) 3 40
(2) 5 40
(2) 5 40
(3) 3 3 40
(3) 3 5 40
(3) 3 5 40
(4) 3 3 3 40
(3) 5 5 40
(4) 3 3 5 40
(3) 3 10 40
(3) 3 10 40
(5) 3 3 3 5 40
(3) 5 10 40
(4) 3 3 10 40
(4) 3 5 10 40
(4) 3 5 10 40
(5) 3 3 3 10 40
(3) 3 20 40

<( 麻煩幫忙修正  非確定答案 )>