字典樹 ZJM 與生日禮物

2021-10-06 15:27:44 字數 1278 閱讀 1834

zjm 收到了 q老師 送來的生日禮物,但是被 q老師 加密了。只有 zjm 能夠回答對 q老師 的問題,q老師 才會把密碼告訴 zjm。

q老師 給了 zjm 一些僅有 01 組成的二進位制編碼串, 他問 zjm:是否存在乙個串是另乙個串的字首.

input

多組資料。每組資料中包含多個僅有01組成的字串,以乙個9作為該組資料結束的標誌。

output

對於第 k 組資料(從1開始標號),如果不存在乙個字串使另乙個的字首,輸出"set k is immediately decodable",否則輸出"set k is not immediately decodable"。

每組資料的輸出單獨一行

sample input

01

100010

0000901

10010

0000

9

sample output

set 1 is immediately decodable

set 2 is not immediately decodable

這道題可以採用字典樹的方式求解,對於輸入的字串將新的字串插入到字典樹中。題目要求判斷是否存在某個字串是其他字串的字首,這個我們在插入的過程中判斷即可,有兩種情況,一種是當前正在插入的字串是已經插進去的字串的字首,另一種是存在已經插入的字串是當前字串的字首。

對於第一種我們在插入的過程中,一直插到最後,看最後乙個位置的是否已經存在,若是已經存在,那麼這個字串就是之前某字串的字首;對於第二種,我們判斷插入的過程中是否有某個位置的字串中止標誌為1,代表這個位置是某個字串的終止位置,那麼那個字串就是當前字串的字首。

#include

#include

#include

using

namespace std;

struct trie

void

clear()

intinsert

(string str)

else

now = child[now]

[x];

} flag[now]=1

;//到達了末尾

return judge;}}

;int

main()

else

}}

w15作業 ZJM 與生日禮物(選做)

zjm 收到了 q老師 送來的生日禮物,但是被 q老師 加密了。只有 zjm 能夠回答對 q老師 的問題,q老師 才會把密碼告訴 zjm。q老師 給了 zjm 一些僅有 01 組成的二進位制編碼串,他問 zjm 是否存在乙個串是另乙個串的字首.輸入格式 多組資料。每組資料中包含多個僅有01組成的字串...

Week15作業 B ZJM與生日禮物 字典樹

zjm 收到了 q老師 送來的生日禮物,但是被 q老師 加密了。只有 zjm 能夠回答對 q老師 的問題,q老師 才會把密碼告訴 zjm。q老師 給了 zjm 一些僅有 01 組成的二進位制編碼串,他問 zjm 是否存在乙個串是另乙個串的字首。多組資料。每組資料中包含多個僅有01組成的字串,以乙個9...

單調 生日禮物

luogup2564 題目 小西有一條很長的彩帶,彩帶上掛著各式各樣的彩珠。已知彩珠有n個,分為k種。簡單的說,可以將彩帶考慮為x軸,每乙個彩珠有乙個對應的座標 即位置 某些座標上可以沒有彩珠,但多個彩珠也可以出現在同乙個位置上。小布生日快到了,於是小西打算剪一段彩帶送給小布。為了讓禮物彩帶足夠漂亮...