【題解】
入門搜尋題。
先n方列舉每對單詞,計算他們接龍可以讓長度延長多少,可以延長的在鏈式前向星中加邊。
搜尋的時候按照邊表逐個擴充套件就好了。
【**】
#include#include#include#define ll long long#define rg register
#define n 1010
using namespace std;
int n,ans,tot,last[n],len[n],v[n];
char a[n][n],st;
struct edgee[200010];
inline int read()
inline void calc(int x,int y)
if(ok) del=len[y]-(len[x]-i+1);
}if(del>0); last[x]=tot;
// printf("[%d %d del=%d]\n",x,y,del);
}}void dfs(int now,int lenth)
}int main()
st=getchar(); while((!('a'<=st&&st<='z'))&&(!('a'<=st&&st<='z'))) st=getchar();
// for(rg int i=1;i<=n;i++) printf("[%s]\n",a[i]+1);
for(rg int i=1;i<=n;i++)
for(rg int j=1;j<=n;j++) calc(i,j);
for(rg int i=1;i<=n;i++)if(a[i][1]==st)
printf("%d\n",ans);
return 0;
}
單詞接龍 洛谷 1019
題目描述 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beast和astonish,如果接成一條龍則變為beastonish,另外相鄰的...
洛谷p1019 單詞接龍
單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beast和astonish,如果接成一條龍則變為beastonish,另外相鄰的兩部分不能...
洛谷p1019單詞接龍
單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beastbe ast 和 astonishas toni sh,如果接成一條龍則變為 be...