回分類題庫
d013: 98年台中區第三題
關鍵字: 98年台中區複賽

測資點 : 2 | Time Limit : 1000 ms | Memory Limit : 32000 KB
Accepted : 60 Times / 54 Users | Submit : 203 Times / 62 Users | Accepted rate : 87%
題目加入時間 : 2011-09-11 00:48

Content: 简体中文

最長成語接龍問題:假設給定兩個中文字串A與B,若字串A的最後一個字與字串B的第一個字相同則可以串接在一起,例如:悠然自得與得天獨厚。設計一個程式,讀入若干個字串(假設均為中文四字成語,且所列成語的第一個字皆不會相同)。並試著將這些字串以串接方式串起來形成成語接龍,使所串接的成語接龍長度最長(每個成語只能使用一次);並於螢幕輸出所串接之長度與串接結果。值得注意的是,並非每一個成語均可以與其他成語串接再一起;若長度最長的成語接龍不只一組,則所有串接結果均需列出。

Input:

第一列第一個整數代表四字成語字串個數,第二列以後每一列為一個四字成語。

Output:

請依照輸出範例的格式,輸出最長串接的長度,以及它的內容。

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
15
鼓盆而歌
平分秋色
秀外慧中
色豔桃李
柱山煮海
海市蜃樓
悠然自得
得天獨厚
樓船簫鼓
厚顏無恥
恥居王後
一顯身手
歌舞昇平
後起之秀
中流砥柱

Sample Output :

14
悠然自得→得天獨厚→厚顏無恥→恥居王後→後起之秀→秀外慧中→中流砥柱→柱山煮海→海市蜃樓→樓船簫鼓→鼓盆而歌→歌舞昇平→平分秋色→色豔桃李

Hint :

註:本系統使用Unicode編碼,所有中文字改成三個位元組,
也就是說要判斷 A、B 兩個成語是否可以串接,
原本是寫成 A[6]==B[0] && A[7]==B[1],
要改成 A[9]==B[0] && A[10]==B[1] && A[11]==B[2] 才行。

Author :

98年台中區複賽 (管理員:sagit)

  Solve it!   Status Forum