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軸,每乙個彩珠有乙個對應的座標 即位置 某些座標上可以沒有彩珠,但多個彩珠也可以出現在同乙個位置上。小布生日快到了,於是小西打算剪一段彩帶送給小布。為了讓禮物彩帶足夠漂亮...