[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):()

アルファベット小文字からなる文字列がある.
この文字列を圧縮する記法として,文字列 s に対し
 (s)n := s...s (s の n 回の繰り返し)
を導入する.圧縮はネストしていてよい.たとえば以下のようになる.
 (ab)2 = abab
 (b)10 = bbbbbbbbbb
 ((ab)3c)2 = (abababc)2 = abababcabababc

圧縮された文字列 ctext,自然数 i, j (i ≦ j),
(圧縮されていない)文字列 pattern が与えられる.
ctext を展開した文字列の i 文字目から j 文字目までに
pattern が含まれるかどうかを判定せよ.
含まれる場合は YES,含まれなかったり,i, j が
不正な位置を参照している場合は NO と出力せよ.
なお,圧縮後の文字列 ctext の長さは 10000 文字以内
(展開したときの文字列長は制限しない),
j - i ≦ 100000,pattern の長さは 10000 文字以内とする.

例:ctext = ((ab)3bc)4, i = 3, j = 15, pattern = cabababb
 ctext は展開すると abababbcabababbcabababbcabababbc であり,
 3 文字目から 15 文字目までは ababbcabababb.
 この中には pattern が含まれているので YES と出力.

[3] 環境
 [3.1,2] OS,コンパイラ: おまかせ
 [3.3] 言語: どちらでも可
[4] 期限: 2008年5月6日
[5] その他の制限: 特になし