1051 接龍遊戲

2022-05-03 11:51:14 字數 1126 閱讀 8746

時間限制: 1 s

空間限制: 128000 kb

題目等級 : 鑽石 diamond

題解給出了n個單詞,已經按長度排好了序。如果某單詞i是某單詞j的字首,i->j算一次接龍(兩個相同的單詞不能算接龍)。

你的任務是:對於輸入的單詞,找出最長的龍。

輸入描述 input description

第一行為n(1<=n<=105)。以下n行每行乙個單詞(由小寫組成),已經按長度排序。(每個單詞長度<50)

輸出描述 output description

僅乙個數,為最長的龍的長度。

樣例輸入 sample inputia

intable

inter

樣例輸出 sample output

資料範圍及提示 data size & hint

1<=n<=105

分類標籤 tags 點此展開 

雜湊表棧

線性結構

題解:字典樹+dfs

ac**:

#include#include

#include

using

namespace

std;

#define n 1000100

intn,tot,ans,ne,len;

inthead[n],next[n],v[n];

bool

w[n];

char s[90

];void dfs(int k,int

p)//

尋找有沒有x節點,如果有記錄位置

if(!t)//

如果沒有在字典樹上建立乙個節點

if(p==len-1)//

掃到頭,標記末尾,當前答案+1(自己也算乙個),更新ans,退出

else

if(w[t]) tot++;//

有字首出現過,當前答案+1

dfs(t,p+1);//

從t節點再往下掃

}int

main()

printf(

"%d\n

",ans);

return0;

}

1051 接龍遊戲

時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond description 給出了n個單詞,已經按長度排好了序。如果某單詞i是某單詞j的字首,i j算一次接龍 兩個相同的單詞不能算接龍 你的任務是 對於輸入的單詞,找出最長的龍。輸入描述 input description...

codevs 1051 接龍遊戲

時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond 給出了n個單詞,已經按長度排好了序。如果某單詞i是某單詞j的字首,i j算一次接龍 兩個相同的單詞不能算接龍 你的任務是 對於輸入的單詞,找出最長的龍。輸入描述 input description 第一行為n 1 n 1...

codevs 1051 接龍遊戲

時間限制 1 s 空間限制 128000 kb 題目等級 鑽石 diamond 題解給出了n個單詞,已經按長度排好了序。如果某單詞i是某單詞j的字首,i j算一次接龍 兩個相同的單詞不能算接龍 你的任務是 對於輸入的單詞,找出最長的龍。輸入描述 input description 第一行為n 1 n...