code1018 單詞接龍 dfs,字串處理

2021-07-30 01:42:36 字數 963 閱讀 8934

題目描述 description

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

輸入描述 input description

輸入的第一行為乙個單獨的整數n(n<=20)表示單詞數,以下n行每行有乙個單詞,輸入的最後一行為乙個單個字元,表示「龍」開頭的字母。你可以假定以此字母開頭的「龍」一定存在.

輸出描述 output description

只需輸出以此字母開頭的最長的「龍」的長度

樣例輸入 sample input 5

attouch

cheat

choose

tacta

樣例輸出 sample output

23    

資料範圍及提示 data size & hint

(連成的「龍」為atoucheatactactouchoose)                

//max慎用,容易不匹配,特別是不太了解函式返回值的時候

//把string::npos的返回型別理解為unsigned int,wa了半天

//size_t,size_t,size_t重要的事說3遍

#include#include#includeusing namespace std;

int n,cnt[30],ans;

string s[30];

void dfs(string ss){

size_t pos;

if(ans>n;

for(int i=0;i>s[i];

cin>>s[n];

dfs(s[n]);

cout<

CODEVS 1018 單詞接龍(DFS)

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

Codevs 1018 單詞接龍 (DFS)

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

CODEVS 1018 單詞接龍(DFS)

2000年noip全國聯賽普及組noip全國聯賽提高組 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 檢視執行結果 單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的 龍 每個單詞都最多在 龍 中出現...