洛谷P1278 單詞遊戲

2021-08-29 23:43:03 字數 952 閱讀 5703

io和ao在玩乙個單詞遊戲。

他們輪流說出乙個僅包含母音字母的單詞,並且後乙個單詞的第乙個字母必須與前乙個單詞的最後乙個字母一致。

遊戲可以從任何乙個單詞開始。

任何單詞禁止說兩遍,遊戲中只能使用給定詞典中含有的單詞。

遊戲的複雜度定義為遊戲中所使用的單詞長度總和。

編寫程式,求出使用一本給定的詞典來玩這個遊戲所能達到的遊戲最大可能複雜度。

輸入格式:

輸入檔案的第一行,表示乙個自然數n(1≤n≤16),n表示一本字典中包含的單詞數量以下的每一行包含字典中的乙個單詞,每乙個單詞是由字母a、e、i、o和u組成的乙個字串,每個單詞的長度將小於等於100,所有的單詞是不一樣的。

輸出格式:

輸出檔案僅有一行,表示該遊戲的最大可能複雜度。

輸入樣例#1:5

iooiuuo

aioiooi

aooi

輸出樣例#1:

16

子集dp,f[i][j]表示當前狀態為i開頭為j的最長長度,記搜水過。

#includeusing namespace std;

const int maxn=17;

string s[maxn];

int n,tot,len[maxn],f[1<=0;x=(x-1)&s)

} }return f[state][str]=ret;

}int main()

memset(f,-1,sizeof(f));

int ans=0;

for(int i=0;i<5;++i)

ans=max(ans,dfs(tot-1,i));

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在玩乙個單詞遊戲。他們輪流說出乙個僅包含母音字母的單詞,並且後乙個單詞的第乙個字母必須與前乙個單詞的最後乙個字母一致。遊戲可以從任何乙個單詞開始。任何單詞禁止說兩遍 遊戲中只能使用給定詞典中含有的單詞。遊戲的複雜度定義為遊戲中所使用的單詞長度總和。編寫程式,求出使用一本給定的詞典...