P3741 honoka的键盘题解

题目

honoka有一个只有两个键的键盘。一天,她打出了一个只有这两个字符的字符串。当这个字符串里含有 VK 这个字符串的时候,honoka就特别喜欢这个字符串。所以,她想改变至多一个字符(或者不做任何改变)来最大化这个字符串内VK出现的次数。给出原来的字符串,请计算她最多能使这个字符串内出现多少次VK(只有当VK正好相邻时,我们认为出现了VK

输入输出格式

输入格式

第一行给出一个数字n,代表字符串的长度。

第二行给出一个字符串s。

输出格式

第一行输出一个整数代表所求答案。

输入输出样例

输入样例

cpp 复制代码
2
VK

输出样例

cpp 复制代码
1

代码

cpp 复制代码
#include<iostream>
using namespace std;
char a[102];
int n;
int main(){
	cin>>n;
    cin>>a;
    int ans=0;
    for(int i=0;i<n-1;i++)
    {
        if(a[i]=='V' && a[i+1]=='K')//将VK的找到,都变为X
        {
            ans++;
            a[i]='X';
            a[i+1]='X';
        }
    }
    for(int i=0;i<n-1;i++)
    {
        if(a[i]!='X' && a[i]==a[i+1])//把VV或者KK的找到,可以一步变成VK
        {
            ans++;
            break;
        }
    }
    cout<<ans;
    return 0;
}
相关推荐
执着2599 分钟前
力扣hot100 - 144、二叉树的前序遍历
数据结构·算法·leetcode
范纹杉想快点毕业13 分钟前
嵌入式系统架构之道:告别“意大利面条”,拥抱状态机与事件驱动
java·开发语言·c++·嵌入式硬件·算法·架构·mfc
陳103014 分钟前
C++:map和set的使用
开发语言·c++
苏宸啊16 分钟前
list底层实现
c++·list
近津薪荼17 分钟前
递归专题(4)——两两交换链表中的节点
数据结构·c++·学习·算法·链表
2501_9403152617 分钟前
【无标题】2390:从字符串中移除*
java·开发语言·算法
乐观勇敢坚强的老彭19 分钟前
c++寒假营day01下午
c++·算法
散峰而望30 分钟前
【算法竞赛】树
java·数据结构·c++·算法·leetcode·贪心算法·推荐算法
鱼很腾apoc33 分钟前
【实战篇】 第14期 算法竞赛_数据结构超详解(下)
c语言·开发语言·数据结构·学习·算法·青少年编程
123_不打狼1 小时前
AE(自编码器)与 VAE(变分自编码器)核心区别:原理、目标与应用
深度学习·算法·机器学习·vae