题目链接:http://codeforces.com/problemset/problem/801/A
思路:题目中字符串的长度最长100个字符,所以,可以考虑用暴力,先遍历一遍匹配“VK”的,并把符合条件的标记成其他的字符(如'$'),然后再遍历一遍,只要找到符合"VV"或者"KK"的,就把答案加1,然后跳出循环,然后输出答案即可。
AC代码:
#include<cstdio>
#include<cstring>
using namespace std;
int main() {
char arr[102];
int cnt;
while (scanf("%s", arr) != EOF) {
cnt = 0;
for (int i = 1; i < strlen(arr); i++) {
if (arr[i - 1] == 'V' && arr[i] == 'K') {
cnt++;
arr[i - 1] = arr[i] = '$';
}
}
for (int i = 0; i < strlen(arr) - 1; i++) {
if (arr[i] == arr[i + 1] && (arr[i] == 'V' || arr[i] == 'K')) {
cnt++;
break;
}
}
printf("%d
", cnt);
memset(arr, 0, strlen(arr));
}
return 0;
}