原題來自:Centrual Europe 2005
我們有 n 個字符串,每個字符串都是由 a 至 z 的小寫英文字母組成的。如果字符串 A 的結(jié)尾兩個字符剛好與字符串 B 的開頭兩個字符匹配,那么我們稱 A 與 B 能夠相連(注意:A 能與 B 相連不代表 B 能與 A 相連)。我們希望從給定的字符串中找出一些,使得它們首尾相連形成一個環(huán)串(一個串首尾相連也算),我們想要使這個環(huán)串的平均長度最大。如下例:
ababc
bckjaca
caahoynaab
第一個串能與第二個串相連,第二個串能與第三個串相連,第三個串能與第一個串相連,我們按照此順序相連,便形成了一個環(huán)串,長度為 5+7+10=22(重復(fù)部分算兩次),總共使用了 3 個串,所以平均長度是 $\frac{22}{3}≈7.33$。
本題有多組數(shù)據(jù)。
每組數(shù)據(jù)的第一行,一個整數(shù) n,表示字符串?dāng)?shù)量;
接下來 n 行,每行一個長度小于等于 1000 的字符串。
讀入以 0 結(jié)束。
若不存在環(huán)串,輸出 No solution,否則輸出最長的環(huán)串的平均長度。
只要答案與標(biāo)準(zhǔn)答案的差不超過 0.01,就視為答案正確。
3 intercommunicational alkylbenzenesulfonate tetraiodophenolphthalein 0
21.66
數(shù)據(jù)范圍:
對于全部數(shù)據(jù),1≤n≤105 。