第一次自己都是错的 只有84分:
#include<bits/stdc++.h>
using namespace std;
char str[110];
int main() {
int n;
int temp = 0;
int sum = 0;
cin >> n >> str;
if (n < 2) {
cout << 0 << endl;
system("pause");
return 0;
}
else if (n == 2) {
if (str[0] == 'K' && str[1] == 'V') {
cout << 0 << endl;
system("pause");
return 0;
}
else{
cout << 1 << endl;
system("pause");
return 0;
}
}
else if (n > 2) {
for (int i = 0; i < n - 1; i++) {
if (str[i] == 'V') {
str[i] = 'K';
}
else if (str[i] == 'K') {
str[i] = 'V';
}
for (int j = 0; j < n - 1; j++) {
if (str[j] == 'V' && str[j + 1] == 'K') {
sum++;
}
}
if (sum >= temp)
temp = sum;
sum = 0;
if (str[i] == 'V') {
str[i] = 'K';
}
else if (str[i] == 'K') {
str[i] = 'V';
}
}
cout << temp << endl;
system("pause");
return 0;
}
}
第二次正确:
#include<bits/stdc++.h>
using namespace std;
int n, sum;
char str[110];
int main() {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> str[i];
}
for (int i = 0; i < n; i++) {
if (str[i] == 'V' && str[i + 1] == 'K')
sum++;
}
for (int i = 0; i < n; i++) {
if (str[i] == 'V') {
if (str[i - 1] == 'V' && str[i + 1] != 'K') {
sum++;
break;
}
}
else if (str[i] == 'K') {
if (str[i - 1] != 'V' && str[i + 1] == 'K') {
sum++;
break;
}
}
}
cout << sum << endl;
system("pause");
return 0;
}