代码如下
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
int n;
string s;
cin >> n >> s;
int originalCount = 0;
for (int i = 0; i < n - 1; ++i) {
if (s[i] == 'V' && s[i + 1] == 'K') {
originalCount++;
}
}
if (n < 2) {
cout << 0 << endl;
return 0;
}
int maxAdd = 0;
for (int i = 0; i < n; ++i) {
char originalChar = s[i];
s[i] = 'V';
if (i > 0 && s[i - 1] == 'K') maxAdd = max(maxAdd, 1);
if (i < n - 1 && s[i] == 'V' && s[i + 1] == 'K') maxAdd = max(maxAdd, 1);
if (i > 0 && s[i - 1] == 'V' && s[i] == 'K') maxAdd = max(maxAdd, 1);
if (i < n - 1 && s[i] == 'V' && s[i + 1] == 'K') maxAdd = max(maxAdd, 1);
if (i > 0 && s[i - 1] == 'K' && s[i] == 'V') maxAdd = max(maxAdd, 1);
s[i] = 'V';
if (i + 1 < n && s[i] == 'V' && s[i + 1] == 'K') {
maxAdd = max(maxAdd, 1);
}
if (i - 1 >= 0 && s[i - 1] == 'K' && s[i] == 'V') {
}
s[i] = 'K';
if (i - 1 >= 0 && s[i - 1] == 'V' && s[i] == 'K') {
maxAdd = max(maxAdd, 1);
}
if (i + 1 < n && s[i] == 'K' && s[i + 1] == 'V') {
}
s[i] = originalChar;
}
int result = originalCount + min(maxAdd, 1);
cout << result << endl;
return 0;
}