原題鏈結
有一組單詞,如果兩個單詞之間存在重疊部分(不包括包含關係,即at和attch
),則可以拼湊起來,問在這一組單詞中,最長可以拼湊成的長度。
n ≤20
n≤20
n≤20
5
attouch
cheat
choose
tact
a
23
#include
using
namespace std;
const
int n =30;
int g[n]
[n];
string arr[n]
;int st[n]
;int n;
int res =0;
string maxres;
void
dfs(string & s,
int idx)
for(
int i =
0; i < n;
++ i)}}
intmain()
string s;
cin >> s;
// 每個單詞只能訪問兩次
fill
(st, st + n,2)
;// 預處理
for(
int i =
0; i < n;
++ i)}}
}for
(int i =
0; i < n;
++ i)
}
cout << res << endl;
return0;
}
ACWing 1117 單詞接龍
單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲。現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞最多被使用兩次。在兩個單詞相連時,其重合部分合為一部分,例如beast和astonish,如果接成一條龍則變為beastonish。我們可以任意選擇重合部分的長度,...
單詞接龍 DFS
原題鏈結 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲。現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞最多被使用兩次。在兩個單詞相連時,其重合部分合為一部分,例如 beast 和 astonish 如果接成一條龍則變為 beastonish。我們可以任意選...
題解 單詞接龍(DFS)
單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞 且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 現兩次 在兩個單詞相連時,其重合部分合為一部分,例如beast和astonish,如果接成一條龍則變為beastonish 另外相鄰的兩部分不能存在包...