/*看到n的範圍就覺得這個不可能是dp啥的
因為這個接龍的規則十分的簡單 只要字首相同即可 所以先按字典序排一遍
這樣保證符合規則的一定挨著
然後弄乙個stack 每次拿棧頂元素看看待入棧的元素是否符合條件
如果符合 就入棧 否則的話彈出棧頂元素 接著比較
這樣在過程中不斷更新最大的ans
*/#include
#include
#include
#include
#include
#define maxn 100010
using
namespace
std;
stack
c;int n,ans=1;//
ans初值為1 最少有乙個單詞
string
s[maxn];
intmain()
c.push(s[i]);
//要麼棧空了 要麼符合條件了
tmp=c.size();
ans=max(ans,tmp);
}cout
}
codevs1051 接龍遊戲 棧
給出了n個單詞,已經按長度排好了序。如果某單詞i是某單詞j的字首,i j算一次接龍 兩個相同的單詞不能算接龍 你的任務是 對於輸入的單詞,找出最長的龍。第一行為n 1 n 105 以下n行每行乙個單詞 由小寫組成 已經按長度排序。每個單詞長度 50 僅乙個數,為最長的龍的長度。ia intable ...
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...