p1019 單詞接龍
首先需要找到任意兩個單詞的最小重合長度:從前面單詞的尾部比較,依次增加尾部選取長度,直至找到選取尾部和下乙個單詞頭部相同,就找到了最小重合長度。
再通過dfs搜尋。
#includeusing namespace std;
int n,sum=0;
char str[20][50],ch;//str單詞、ch首字母
int a[20][20]=;//a[i][j]的值表示i單詞接j單詞的最小重合長度
int b[20]=;//b[i]的值表示i單詞使用過的次數
int c[20]=;//c[i]的值表示i單詞的長度
int max1=0;
void dfs(int i)
cin>>ch;
/* *將i單詞接j單詞的最小重合長度存入a[i][j]
*/ for(i=0;i-1;k--)
if(bo)
p=0;
bo=true;
}} }
for(i=0;i
} cout<
return 0;
}
P1019 單詞接龍
洛谷 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beast和astonish,如果接成一條龍則變為beastonish,另外相鄰的兩部...
P1019 單詞接龍
單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beastbeast和astonishastonish,如果接成一條龍則變為beastonish...
P1019 單詞接龍
單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beastbeastbeast和astonishastonishastonish,如果接成一條龍...