洛谷 1019 單詞接龍

2022-07-23 17:18:17 字數 975 閱讀 6468

【題解】

入門搜尋題。

先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...