题目
分析
首先编写计算字符串中"VK"出现的次数。
int countVK(string s, int len)
{
int count = 0;
for (int i = 0; i < len - 1; i++)
{
if (s[i] == 'V' && s[i + 1] == 'K')
{
count++;
}
}
return count;
}
其次,根据题意,遍历原始字符串,试着将每个字符要么从V变成K,要么从K变成V。需要注意的是,不要对原始字符串进行操作,而是用一个拷贝。
for (int i = 0; i < n; i++)
{
string temp_s=s;
s[i] == 'V' ? temp_s[i] = 'K' : temp_s[i]='V';
int temp = countVK(temp_s, n);
if (temp > count)
{
count = temp;
}
}
答案

思考
(略)
