io和ao在玩乙個單詞遊戲。
他們輪流說出乙個僅包含母音字母的單詞,並且後乙個單詞的第乙個字母必須與前乙個單詞的最後乙個字母一致。
遊戲可以從任何乙個單詞開始。
任何單詞禁止說兩遍,遊戲中只能使用給定詞典中含有的單詞。
遊戲的複雜度定義為遊戲中所使用的單詞長度總和。
編寫程式,求出使用一本給定的詞典來玩這個遊戲所能達到的遊戲最大可能複雜度。
輸入格式:
輸入檔案的第一行,表示乙個自然數n(1≤n≤16),n表示一本字典中包含的單詞數量以下的每一行包含字典中的乙個單詞,每乙個單詞是由字母a、e、i、o和u組成的乙個字串,每個單詞的長度將小於等於100,所有的單詞是不一樣的。
輸出格式:
輸出檔案僅有一行,表示該遊戲的最大可能複雜度。
輸入樣例#1:
5輸出樣例#1:iooiuuo
aioiooi
aooi
16
#include#include70分 爆搜#include
using
namespace
std;
intn,ans;
struct
nodeq[
20];
bool vis[20
];void dfs(int sum,int
la)}
intmain()
dfs(
0,0);
printf("%d
",ans);
}
#include#include100分 狀壓dp#include
#include
using
namespace
std;
int n,m,ans,dis[16],f[1
<<16][16
];char s[1
<<16][110
];int
main()
for(int i=1;i<=n;i++)
f[(1<
;
for(int i=0;i<=(1
<1;i++)
for(int j=1;j<=n;j++)}}
cout
<
}
洛谷P1278 單詞遊戲
io和ao在玩乙個單詞遊戲。他們輪流說出乙個僅包含母音字母的單詞,並且後乙個單詞的第乙個字母必須與前乙個單詞的最後乙個字母一致。遊戲可以從任何乙個單詞開始。任何單詞禁止說兩遍,遊戲中只能使用給定詞典中含有的單詞。遊戲的複雜度定義為遊戲中所使用的單詞長度總和。編寫程式,求出使用一本給定的詞典來玩這個遊...
洛谷P1278 單詞遊戲
題目大意 給乙個有 n n leqslant16 個單詞的字典,求單詞接龍的最大長度 題解 發現 n 很小,可以狀壓,令 f 表示選的數的狀態為 i 最後乙個字母是 j 的最大長度。卡點 無 c code include include define maxn 16 define n 1 maxn ...
P1278 單詞遊戲
題目描述 io和ao在玩乙個單詞遊戲。他們輪流說出乙個僅包含母音字母的單詞,並且後乙個單詞的第乙個字母必須與前乙個單詞的最後乙個字母一致。遊戲可以從任何乙個單詞開始。任何單詞禁止說兩遍 遊戲中只能使用給定詞典中含有的單詞。遊戲的複雜度定義為遊戲中所使用的單詞長度總和。編寫程式,求出使用一本給定的詞典...