codevs1051單詞接龍(棧)

2022-05-15 23:53:33 字數 600 閱讀 3534

/*

看到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...