//自信のない解法。左からgreedyにKUROIを作っていく、?は無視する。 //もう一度左からKUROIを作っていく。 #include #include using namespace std; int main() { static string s; static bool used[100] = {false}; cin >> s; char *sub = "KUROI"; int cor = 0, cnt = 0; for( int i = 0; i < s.length(); i++ ){ if( s[i] == sub[cor] ){ cor = (cor + 1) % 5; cnt += (cor == 0); used[i] = true; } } cor = 0; for( int i = 0; i < s.length(); i++ ){ if( (s[i] == sub[cor] || s[i] == '?') && !used[i] ){ cor = (cor + 1) % 5; cnt += (cor == 0); used[i] = true; } } cout << cnt << endl; return 0; }