题目背景
honoka 有一个只有两个键的键盘。
题目描述
一天,她打出了一个只有这两个字符的字符串。当这个字符串里含有 VK
这个字符串的时候,honoka 就特别喜欢这个字符串。所以,她想改变至多一个字符(或者不做任何改变)来最大化这个字符串内 VK
出现的次数。给出原来的字符串,请计算她最多能使这个字符串内出现多少次 VK
(只有当 V
和 K
正好相邻时,我们认为出现了 VK
。)
输入格式
第一行给出一个数字 n,代表字符串的长度。
第二行给出一个字符串 s。
输出格式
第一行输出一个整数代表所求答案。
输入输出样例
输入 #1
2 VK
输出 #1
1
输入 #2
2 VV
输出 #2
1
输入 #3
1 V
输出 #3
0
输入 #4
20
VKKKKKKKKKVVVVVVVVVK
输出 #4
3
输入 #5
4 KVKV
输出 #5
1
说明/提示
对于 100% 的数据,1≤n≤100。
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <math.h>
#include <string.h>
#define N 100000
int main()
{
int n,i,count=0;
char s[N];
scanf("%d",&n);
scanf("%s",s);
for(i=0;s[i]!=0;i++)
{
if(s[i]=='V'&&s[i+1]=='K')
{
count++;
s[i]='a';
s[i+1]='a';
}
}
for(i=0;s[i]!=0;i++)
{
if((s[i]=='V'&&s[i+1]=='V')||(s[i]=='K'&&s[i+1]=='K'))
{
count++;
break;
}
}
printf("%d",count);
return 0;
}