【题目】http://codeforces.com/problemset/problem/801/A
【题意】一个字符串中只有V和K现在最多更改其中一个字母(可能不改),问更改后最多能出现多少个"VK"?
【思路】统计已经出现过的VK,将这些位置标记,再扫一遍如果遇到VV或者KK并且两个位置都没有被标记过,ans++,接着break
【代码】
#include<bits/stdc++.h>
//#define
using namespace std;
typedef long long ll;
const int inf=1e9+5;
const int M=1e5+5;
int main()
{
char a[200];
int book[200]={0};
cin>>a;
int n=strlen(a);
int ans=0;
for(int i=0;i<n-1;i++)
{
if(a[i]=='V'&&a[i+1]=='K')
{
ans++;
book[i]=book[i+1]=1;
}
}
for(int i=0;i<n-1;i++)
{
if(a[i]=='V'&&a[i+1]=='V'&&!book[i]&&!book[i+1])
{
ans++;
break;
}
else if(a[i]=='K'&&a[i+1]=='K'&&!book[i]&&!book[i+1])
{
ans++;
break;
}
}
cout<<ans<<endl;
}