洛谷 P3741 honoka的键盘
思路
题中无非三种情况:
- VK,直接计数
- VV,改变一个字符后计数
- KK,改变一个字符后计数
- KV,无论如何无法计数
可以先遍历一遍,把所有VK找出来,计数,然后把VK换成“XX”,再进行第二次遍历,找VV或者KK,如果找到,总数就加1,并退出循环。
代码
/*
* @Description:
* @Author: 多多
* @Date: 2020-10-24 22:28:12
* @LastEditTime: 2020-10-24 22:32:09
* @LastEditors: 多多
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
//freopen("P3741.in", "r", stdin);
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
string s;
cin >> s;
int sum = 0;
for (int i = 0; i < n - 1; i++)
{
if (s[i] == 'V' && s[i + 1] == 'K')
{
sum++;
s[i] = s[i + 1] = 'X';
}
}
for (int i = 0; i < n - 1; i++)
{
if ((s[i] == 'V' && s[i + 1] == 'V') || (s[i] == 'K' && s[i + 1] == 'K'))
{
sum++;
break;
}
}
cout << sum << endl;
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。