b764. P32編碼
標籤 : 字串處理 迴圈 陣列
通過比率 : 98人/101人 ( 97% ) [非即時]
評分方式:
Tolerant

最近更新 : 2016-01-08 15:35

內容

3題子題 2:編碼

在 ASCII CODE 中,每個字元需要使用 8 bit 來存資料。當檔案只包含0123456789AB 十二種字元時,可二進制重新編碼以節省空間,假設新編碼如下表:

二進制

字元

00

A

01

B

100

0

101

1

1100

2

1101

3

11100

4

11101

5

111100

6

111101

7

111110

8

111111

9

例如編碼 10100110001 對應到的字元為 1A2B。在猜數字的遊戲過程中,會選定不重複的數字排列當做答案,再由玩家來猜數字,再算出幾A 幾B,其遊戲過程可用表3.2.1 的編碼紀錄(答案為何,幾A 幾B 如何算出,不是這次題目考慮的範圍)。例如玩家猜數字6789,算出(0A0B),則把這過程6789 (0A0B)以1111001111011111101111111000010001 編碼,為了讓選手方便對照剛剛的編碼,我們將6789 (0A0B) 編碼拆解成111100 (6) 111101 (7) 111110 (8) 111111(9) 100 (0) 00 (A) 100 (0) 01 (B);若玩家猜數字 1253,算出(2A1B),這過程1253(2A1B)以表3.2.1 的方式編碼紀錄為101 1100 11101 1101 1100 00 101 01(輸入檔案會省略空白,空白的存在是為了方便讀題)

若玩家猜數字 4321,算出(4B),這過程4321 (4B)以表3.2.1 的方式編碼紀錄為11100 1101 1100 101 11100 01

若玩家猜數字5234,算出(3A),這過程5234(3A)以表3.2.1 的方式編碼紀錄為11101 1100 1101 11100 1101 00

若玩家猜數字 1209,算出(2A),這過程1209 (2A)以表3.2.1 的方式編碼紀錄為101 1100 100 111111 1100 00

若玩家猜數字1234,算出(2B),這過程1234 (2B)以表3.2.1 的方式編碼紀錄為101 1100 1101 11100 1100 01

 

輸入說明

每個測資檔有多組資料,以讀至EOF結束。

每組資料的第 1 行的數字n 代表有幾筆資料要測試,而n 的值介於1 和5 之間,之後每行為0 和1 所組成的編碼字串,字串長度<=34,對應到一次猜數字的遊戲過程。在測試檔案中,每個編碼字串均可正確的對應到編碼表中的編碼。

輸出說明


從第 1 行起每行將輸入之編碼字串,轉成玩家猜的數字及其幾A 幾B 的結果。(輸出英文字均為大寫,選手請注意。數字和其幾A 幾B 的結果以","分開。)

範例輸入 #1
4
1111001111011111101111111000010001
101110011101110111000010101
11100110111001011110001
111011100110111100110100
2
1011100100111111110000
1011100110111100110001
範例輸出 #1
6789,0A0B
1253,2A1B
4321,4B
5234,3A
1209,2A
1234,2B
測資資訊:
記憶體限制: 64 MB
提示 :
標籤:
字串處理 迴圈 陣列
出處:
101學年度商業類程式設計競賽正式題 [管理者: p3a_owhj (阿普二信) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」