第三题:求拿走最少石头数

题目:桌子上有不超过五十块石头,石头可以是红蓝绿三色,拿出一定数量石头排列,求拿走最少数量的石头可使相邻的石头颜色不同
题解:先输入石头总数,再输入石头排列的颜色,建立循环查找,如果某块石头和后一块石头颜色相同,则需取走,取走数量增加一块,最后输出该数量

#include <iostream>
using namespace std;
int main()
{
	int n,b=0;
	cin >> n;
	int *a=new int [n];
	char *c=new char[n];
	for (int i = 0; i < n; i++)
	{
		a[i] = i + 1;
		cin >> c[i];
	}
	for (int i = 0; i < n; i++)
	{
		if (c[i] == c[i + 1]) b++;
	}
	cout << b;
}


猜你喜欢

转载自blog.csdn.net/weixin_43981315/article/details/84875733