STONE

作者: 李耳_9992 | 来源:发表于2018-12-09 21:54 被阅读0次

    Stones on the Table

    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.

    Examples
    Input
    3
    RRG
    Output
    1
    Input
    5
    RRRRR
    Output
    4
    Input
    4
    BRBG
    Output
    0

    求最少拿走几块石头使桌上相邻石头颜色不同,
    将第一块石头与第二块进行比较(即比较字符串数组a相邻元素是否相同),若相同,则比较第一块和第三块石头...,若不同则比较第二块和第三块石头,逐层比较。

    #include<iostream>
    using namespace std;
    int main()
    {
        int n, i, j=0,sum=0;
        char a[101];
        cin >> n>>a;
        for (i = 1;i < n;i++)
        {
            if (a[i] == a[j])
            {
                sum++;
            }
            else
            {
                j = i;
            }
        }
        cout << sum;
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:STONE

          本文链接:https://www.haomeiwen.com/subject/ewtlhqtx.html