Codeforces Round #208 (Div. 2) B. Dima and Text Messages
問題文の方が問題より難しい。誤読した。
追加するのは<
, >
と数字だけだと思ったが、そうではなかった。
B. Dima and Text Messages
問題
単語の列$word$がある。単語とはalphabetの小文字の非空な列である。
この単語$word$の全ての単語の間と列の前後に文字列<3
を加え結合し、その文字列の任意の箇所に任意の個数文字(<
, >
, 数字 or alphabetの小文字)を追加してできる文字列を考える。
文字列$s$が与えられるので、これが上記の手順で生成されうる文字列か判定せよ。
実装
#!/usr/bin/env python3
n = int(input())
ts = [input() for i in range(n)]
t = '<3' + '<3'.join(ts) + '<3'
s = input()
i = 0
j = 0
while i < len(t) and j < len(s):
if t[i] == s[j]:
i += 1
j += 1
print(i == len(t) and 'yes' or 'no')