在《沉默的羔羊》中,漢尼拔·萊克特(Hannibal Lecter)身為被關押的罪犯與頂尖心理學家,在克麗絲·史達琳(Clarice Starling)等人調查連續殺人犯「野牛比爾」的案子時提供了一個人名「Louis Friend」,但這其實是他精心設計的字母變位字謎(Anagram)
將 「Louis Friend」 的字母重新排列後,會拼出:
硫化鐵(Iron Sulfide)
因為硫化鐵呈淡金色,使許多掏金者以為掏到金了,所以在化學和地質學中,被戲稱為「愚人金」(Fool's Gold)
這個字謎的雙重寓意:
為了防止漢尼拔在未來的交流中繼續使用類似的變位字謎來誤導偵查,身為技術長的你決定建立一個自動化識別字謎的程式
此程式接收一段潛在的暗號文字(由空格分隔的多個單字),並將所有可能互為變位字謎的單字歸為同組。為了方便探員查閱,每組字詞內部必須依字典序排列,且各組之間也必須按照組內最小的字典序由小到大印出
由空格分開的許多單字
條件:
單字數量 $n < 1000$
保證由小寫英文字母組成,長度 $< 1000$
分組後的單字,詳見題敘
eat tea tan ate nat bat
ate eat tea bat nat tan
apple leaf abc pale cba leap plea flea kab flea
abc cba apple flea flea leaf kab leap pale plea
其實漢尼拔提供這個線索還有一些其他個人利益的因素……
但我在這邊講會劇透,該去看原作了!
| No. | Testdata Range | Constraints | Score |
|---|---|---|---|
| 1 | 0~1 | 範例測資 | 10 |
| 2 | 2~5 | $n < 100$,$a_i < 10\ \forall i \in \mathbb N$ | 30 |
| 3 | 6~9 | 60 |