codevs1051 接龍遊戲 棧

2021-07-05 17:49:45 字數 790 閱讀 5146

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

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

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

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

intable

inter

1<=n<=105

棧練習。

按字典序排序,此時單詞字首相同的必定排在一起。

用乙個棧來維護,若棧頂元素是當前單詞的字首(注意不能相等),則把當前單詞扔進棧裡,若不是字首,則彈出,重複下去。直到棧為空或者棧頂元素是當前單詞的字首,則扔進去。在操作的同時更新答案。

**:

#include

#include

#include

#include

#include

using

namespace

std;

stack

s;string str[100010];

bool check(string s,string ss)

return

true;

}int main()

else s.pop();

}if(s.empty()) s.push(str[i]);

}ans=max(ans,(int)s.size());

}printf("%d",ans);

return

0;}

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

CODEVS 1051 接龍遊戲

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