洛谷 P1019 單詞接龍

2021-10-03 17:55:09 字數 719 閱讀 7317

(我只會無腦dfs了 )題目就是把單詞接起來,接頭至少為1,每次單詞使用次數不超過2,並且要求長度最大是多少。可以先預處理出兩兩單詞之間接龍的接頭長度是多少,然後再進行dfs

貼個**

#include 

using

namespace std;

const

int n =25;

string word[n]

;int used[n]

;int g[n]

[n];

int n;

int ans;

void

dfs(

string dragon,

int last)

intmain()

}}for(

int i =

0;i < n;i ++)if

(word[i][0

]== start)

dfs(word[i]

,i);

cout <

< ans <

< endl;

return0;

}

在這個**中,g陣列用來存兩兩之間的接頭長度,used陣列來記錄這個單詞被用了幾次。在預處理中,k從1開始迴圈,最多是某個單詞全部接頭,利用substr函式來看兩個單詞是否可以接頭,如果k這個長度可以了,那麼我們就記錄下來,並且break,這樣保證接頭以後,「龍」盡可能長。

洛谷p1019 單詞接龍

單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beast和astonish,如果接成一條龍則變為beastonish,另外相鄰的兩部分不能...

洛谷p1019單詞接龍

單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如 beastbe ast 和 astonishas toni sh,如果接成一條龍則變為 be...

洛谷 P1019 單詞接龍

題目描述 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現兩次 在兩個單詞相連時,其重合部分合為一部分,例如be ast bea st 和astoni sha st onis h,如果接成一條...