P3741honoka的键盘

一:题目

P3741honoka的键盘_第1张图片

二:思路分析

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 
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;
}

你可能感兴趣的:(题目讲解,算法,数据结构,c语言,开发语言,学习,c++)