共计 591 个字符,预计需要花费 2 分钟才能阅读完成。
洛谷 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;
}
正文完