codevs 1051 接龍遊戲

2022-07-21 22:00:30 字數 1491 閱讀 1961

時間限制: 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

/*

字典樹(80分)

陣列開大了超空間 小了re......

正解為單調棧

*/#include

#include

#include

#include

#define maxn 1211110

#define maxx 110

using

namespace

std;

intn,tot,ans;

char

s[maxx];

struct

tree

t[maxn];

void

add()

else

}if(!t[now].w)len++;

t[now].w=1

; ans=max(ans,len);

}int

main()

printf(

"%d\n

",ans);

return0;

}

/*

正解為單調棧

維護乙個棧,讓棧中的元素都滿足

前乙個是後乙個的字首

棧的最大長度即為答案

*/#include

#include

#include

#include

#include

#define maxn 100010

using

namespace

std;

string

s[maxn];

stack

t;int n,ans=1

;int

main()

}if(flag)break

; t.pop();

}t.push(i);

if(t.size()>ans)

ans=t.size();

}printf(

"%d\n

",ans);

return0;

}

codevs 1051 接龍遊戲

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

CODEVS 1051 接龍遊戲

題目描述 description 給出了n個單詞,已經按長度排好了序。如果某單詞i是某單詞j的字首,i j算一次接龍 兩個相同的單詞不能算接龍 你的任務是 對於輸入的單詞,找出最長的龍。輸入描述 input description 第一行為n 1 n 105 以下n行每行乙個單詞 由小寫組成 已經按...

codevs1051 接龍遊戲 棧

給出了n個單詞,已經按長度排好了序。如果某單詞i是某單詞j的字首,i j算一次接龍 兩個相同的單詞不能算接龍 你的任務是 對於輸入的單詞,找出最長的龍。第一行為n 1 n 105 以下n行每行乙個單詞 由小寫組成 已經按長度排序。每個單詞長度 50 僅乙個數,為最長的龍的長度。ia intable ...