切換
舊版
前往
大廳
主題

ZeroJudge - e283: APCS 類似題 - 小崴的特殊編碼 解題心得

Not In My Back Yard | 2019-09-03 22:42:01 | 巴幣 0 | 人氣 482

題目連結:


題目大意:
將字母 A ~ F 依序替換為以下 01 碼:
A → 0 1 0 1
B → 0 1 1 1
C → 0 0 1 0
D → 1 1 0 1
E → 1 0 0 0
F → 1 1 0 0

現在有大量的測試資料。每筆測試資料第一列給定一正整數 N 代表原本字串(保證止由 A ~ F 組成)的長度。接著的 N 列輸入,每列為上述的六個編碼其中一個。

將給定的編碼還原成原本的字串,並輸出至一列(字母間不須換行也不須空格)。



範例輸入:
1
0 1 0 1
1
0 0 1 0
2
1 0 0 0
1 1 0 0
4
1 1 0 1
1 0 0 0
0 1 1 1
1 1 0 1


範例輸出:
A
C
EF
DEBD


解題思維:
本題需要最佳化輸出輸入,請參見本題

剩下的就是,建立一個編碼的對照表陣列。可將題目的 01 編碼視作六個二進位數字,分別是 5 、 7 、 2 、 13 、 8 、 12 ,並依序對應 A ~ F 的資訊存入陣列裡。

讀入 N 的值,然後讀入 N 個編碼。對於每個編碼,將其轉為一個二進位數字並利用上面的對照表找到對應的字元後輸出。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作