1. 程式人生 > >第一期訓練題第三題

第一期訓練題第三題

問題連結:https://vjudge.net/problem/CodeForces-266A

問題簡述:第一行輸入石頭數,石頭的顏色有三種,用’B’代表藍色,'G’代表綠色,'R’代表紅色,第二行輸入石頭的顏色,求最少需要取多少個石頭使得任意兩個相鄰石頭顏色不同。

程式說明:定義一個變數記錄次數,用for迴圈和if語句判斷相鄰石頭顏色是否相同,如果相同,則變數的值加1。

AC程式碼:

#include<string>
#include<iostream>
using namespace std;
int main()
{
	int n,m,c=0;
	cin >> n;
	char a[51];
	cin >> a;
	m = strlen(a);
	for (;m>1;m--)
	{
		if (a[m-1] == a[m - 2])
		{
			a[m-1] = 0;
			c++;
		}
	}
	cout << c << endl;
	return 0;
}