CPE 一顆星
題目連結:https://zerojudge.tw/ShowProblem?problemid=e543
內容
鏡像字串是一種字串,當該字串的每個元素更改為鏡像(如果它具有鏡像)並且從右到左讀取該字串時,其結果與從左到右讀取原始字串相同。
例如,”3AIAE”是鏡像字符串,因為”A”的鏡像和”I”的鏡像是他們自己,而”3”和”E”為彼此的鏡像。
鏡像迴文是指符合迴文字串標準和鏡像字串標準的字串。
例如,”ATOYOTA”是一個鏡像迴文,”A”、”T”、”O”、”Y”為彼此的鏡像。
以下為有效字元鏡像對應表:
字元 | 鏡像 | 字元 | 鏡像 | 字元 | 鏡像 | 字元 | 鏡像 |
---|---|---|---|---|---|---|---|
A | A | J | L | S | 2 | 1 | 1 |
B | K | T | T | 2 | S | ||
C | L | J | U | U | 3 | E | |
D | M | M | V | V | 4 | ||
E | 3 | N | W | W | 5 | Z | |
F | O | O | X | X | 6 | ||
G | P | Y | Y | 7 | |||
H | H | Q | Z | 5 | 8 | 8 | |
I | I | R | 0 | 0 | 9 |
請注意,”0”(零)和”O”(字母)被視為相同字符,因此只有字母”O”是有效字符。
輸入每列有一個字串 s (1 <= s長度 <= 20)。
對於每個輸入字串,按照以下輸出
此字串屬於鏡像迴文
輸出”s – is a mirrored palindrome.”
此字串屬於鏡像字串
輸出”s – is a mirrored string.”
此字串屬於迴文字串
輸出”s – is a regular palindrome.”
此字串甚麼都不是
輸出”s – is not a palindrome.”
其中s代表原始字串
此外,在每行輸出之後,需要再輸出換行。
範例輸入
NOTAPALINDROME
ISAPALINILAPASI
2A3MEAS
ATOYOTA
範例輸出
NOTAPALINDROME – is not a palindrome.
ISAPALINILAPASI – is a regular palindrome.
2A3MEAS – is a mirrored string.
ATOYOTA – is a mirrored palindrome.
想法
開局先用 map 將字元和其對應的鏡像字元配對起來。
接著就可以分別從字串的左邊以及右邊開始掃,判斷兩點是否一樣,是否為鏡像關係。
程式碼
1 |
|