A. Stones on the Table
time limit per test2 seconds
memory limit per test256 megabytes
inputstandard input
outputstandard output
There are n stones on the table in a row, each of them can be red, green or blue. Count the minimum number of stones to take from the table so that any two neighboring stones had different colors. Stones in a row are considered neighboring if there are no other stones between them.
Input
The first line contains integer n (1 ≤ n ≤ 50) — the number of stones on the table.
The next line contains string s, which represents the colors of the stones. We’ll consider the stones in the row numbered from 1 to n from left to right. Then the i-th character s equals “R”, if the i-th stone is red, “G”, if it’s green and “B”, if it’s blue.
Output
Print a single integer — the answer to the problem.
问题链接:
http://codeforces.com/problemset/problem/266/A
问题简述:
桌上有一排三种不同颜色的石头,从左边开始若与右边颜色相同则取下石头,计算从桌子上取下的石头的最小数目。
问题分析:
输入字符串,左边开始判断若第k与k+1个字符串相同(k+1不大于石头总数),则计数单位+1,输出技术单位。
贴上代码↓↓↓
#include <iostream>
using namespace std;
void main()
{
int n,t=0;
cin >> n;
char a[50];
char *s = a;
cin >> s;
if (n >= 1 || n <= 50)
{
for (int i = 0; i < n - 1; i++)
{
if (*(s + i) == *(s + i + 1))
{
t++;
}
}
cout << t;
}
return;
}