https://atcoder.jp/contests/keyence2019/tasks/keyence2019_b
解説
https://atcoder.jp/contests/keyence2019/submissions/3999565
取り除く領域を全探索する。
c++であれば、文字列操作はsubstrを使うのがおすすめ。
空の連続部分文字列を取り除く操作が許されている場合があるので、入力が既に"keyence"であった場合に注意。
string S; string T = "keyence"; int N; //--------------------------------------------------------------------------------------------------- void _main() { cin >> S; N = S.length(); if (S == T) { printf("YES\n"); return; } rep(a, 0, N) rep(b, a, N) { string s = ""; if (a) s += S.substr(0, a); if (b + 1 < N) s += S.substr(b + 1); if (s == T) { printf("YES\n"); return; } } printf("NO\n"); }