P3741honoka的键盘
2023-12-25 17:47:39
一:题目
二:思路分析
1.这道题的关键是读懂题目,代码并不难,重点关注题目的这句话
2.题目中所以后面的那句话,我们可以提取出两个信息:
? ?2.1.只有V和K相邻时才认为出现了VK,KV不可以
? 2.2她可以改变一个字符,使VK出现的次数最多,我们可以改变的是:VV和KK
3.代码设计:
? ?3.1先循环一遍,找出VK出现的次数
? ?3.2再将找到的VK换成其他字符,避免对下一次找VV和KK形成干扰
? ? 3.3再循环一次找有咩有KK或者VV,有就将它们改成VK,记住只能改一次,改完就跳出循环
三:代码
#include <stdio.h>
int main()
{
int n = 0;
int i = 0,cont=0;
scanf("%d", &n);
char s[100] = { 0 };
scanf("%s", s);
for (i = 0; i < n-1; i++)
{
if (s[i] == 'V' && s[i + 1] == 'K')
{
cont++;
s[i] = 'X';
s[i + 1] = 'X';
}
}
for (i = 0; i < n-1; i++)
{
if (s[i] == 'V' && s[i + 1] == 'V')
{
cont++;
s[i + 1] = 'K';
break;
}
if (s[i] == 'K' && s[i + 1] == 'K')
{
s[i] = 'V';
cont++;
break;
}
}
printf("%d", cont);
return 0;
}
文章来源:https://blog.csdn.net/2301_80096514/article/details/135202552
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!