atcoder#ABC259C. [ABC259C] XX to XXX

[ABC259C] XX to XXX

配点 : 300300

問題文

英小文字からなる 22 つの文字列 S,TS, T が与えられます。 次の操作を好きな回数( 00 回でも良い)行うことで、SSTT と一致させることができるかを判定してください。

SS において同じ文字が 22 文字連続しているところの間に、その文字と同じ文字を 11 つ挿入する。 すなわち、下記の 33 つの手順からなる操作を行う。

  1. 現在の SS の長さを NN とし、S=S1S2SNS = S_1S_2\ldots S_N とする。
  2. 11 以上 N1N-1 以下の整数 ii であって、Si=Si+1S_i = S_{i+1} を満たすものを 11 つ選択する。(ただし、そのような ii が存在しない場合は、何もせずに手順 3.をスキップして操作を終了する。)
  3. SSii 文字目と i+1i+1 文字目の間に文字 Si(=Si+1)S_i(= S_{i+1})11 つ挿入する。その結果、SS は長さ N+1N+1 の文字列 S1S2SiSiSi+1SNS_1S_2\ldots S_i S_i S_{i+1} \ldots S_N となる。

制約

  • SSTT はそれぞれ英小文字からなる長さ 22 以上 2×1052 \times 10^5 以下の文字列

入力

入力は以下の形式で標準入力から与えられる。

SS

TT

出力

SSTT と一致させることができる場合は Yes を、そうでない場合は No を出力せよ。 ジャッジは英小文字と英大文字を厳密に区別することに注意せよ。

abbaac
abbbbaaac
Yes

下記の 33 回の操作によって、S=S = abbaacT=T = abbbbaaac に一致させることができます。

  • まず、SS22 文字目と 33 文字目の間に b を挿入する。その結果、S=S = abbbaac となる。
  • 次に、再び SS22 文字目と 33 文字目の間に b を挿入する。その結果、S=S = abbbbaac となる。
  • 最後に、SS66 文字目と 77 文字目の間に a を挿入する。その結果、S=S = abbbbaaac となる。

よって、Yes を出力します。

xyzz
xyyzz
No

どのように操作を行っても、 S=S = xyzzT=T = xyyzz に一致させることはできません。 よって、No を出力します。