切換
舊版
前往
大廳
主題

ZeroJudge - e589: 11223 - O: dah dah dah! 解題心得

Not In My Back Yard | 2020-01-24 00:35:13 | 巴幣 2 | 人氣 229

題目連結:


題目大意:
給定以下摩斯電碼(Morse Code)對應表:
每個電碼(Code)之間會以一個空白隔開,代表字母之間的間隔。如果有以兩格空格隔開的是代表詞跟詞之間的間隔。

給定一正整數 T (1 ≦ T ≦ 10),代表有 T 筆測試資料,每筆佔一列。每列給定一字串(可能字元包含「.」、「-」以及空格),代表一摩斯電碼的內容(長度不超過 2000 字元)。請將該電碼解碼後輸出。輸出格式請參見範例輸出。



範例輸入:
2
... --- ...
.--- --- -...  -.. --- -. .  ..--..  ..-. .. -. . -.-.--


範例輸出:
Message #1
SOS

Message #2
JOB DONE ? FINE!


解題思維:
先建一個對應表(C++可以用 map;也可以用兩個陣列各自存,去表示對應關係)。

然後接著以空格為分割單位,一塊一塊的去找對應表裡對應的字元並輸出。而如果遇到連續兩個空格就表示要輸出一個空格字元(表示有新的單字)。

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

創作回應

相關創作

更多創作