题目链接:
思路:题目中字符串的长度最长100个字符,所以,可以考虑用暴力,先遍历一遍匹配“VK”的,并把符合条件的标记成其他的字符(如'$'),然后再遍历一遍,只要找到符合"VV"或者"KK"的,就把答案加1,然后跳出循环,然后输出答案即可。
AC代码:
#include#include 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\n", cnt); memset(arr, 0, strlen(arr)); } return 0;}