SRM489 Div2 250

問題

文字列がいくつかと、文字列a,b,cが与えられる。
各文字列が以下の条件を1つ以上満たすとき、悪い文字列であるという。
・接頭辞が文字列a
・接尾辞が文字列b
・接頭辞と接尾辞以外の部分文字列にcを含む
いくつ悪い文字列があるか数える。

考え方

実際に、文字列について、aと同じ長さの接頭辞、bと同じ長さの接尾辞、先頭と末尾の1文字を削った文字列を作り、a,b,cを含むか否かを判定する。

反省

C++のsubstrなどは不正な範囲でも動いてしまうので、正しい範囲の場合だけ処理する。