C/C++の宿題を片付けます 105代目
レス数が950を超えています。1000を超えると書き込みができなくなります。
0964デフォルトの名無しさん
2008/05/03(土) 09:25:39[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] その他の制限: 特になし
レス数が950を超えています。1000を超えると書き込みができなくなります。