https://www.codechef.com/FEB18/problems/CHEFCHR
文字列Sが与えられる。
ここから連続する4文字の文字列を取り出して、並び替えると"chef"になるようなものは何個あるか。
あるなら「lovely 個数」、ないなら「normal」で出力せよ。
解法
https://www.codechef.com/viewsolution/17299078
全ての連続する4文字の文字列を確認する。
chefのソート済み文字列と、連続する4文字の文字列をソートしたものを比較することで入れ替えて"chef"に出来るかを判定する。
string chef = "chef"; //--------------------------------------------------------------------------------------------------- void solve() { string s; cin >> s; int n = s.length(); int ans = 0; rep(i, 0, n - 3) { string t = s.substr(i, 4); sort(all(t)); if (t == chef) ans++; } if (ans == 0) printf("normal\n"); else printf("lovely %d\n", ans); } //--------------------------------------------------------------------------------------------------- void _main() { sort(all(chef)); int T; cin >> T; rep(t, 0, T) solve(); }