天天看點

6、彩色瓷磚

時間限制:1秒

空間限制:32768K

牛牛喜歡彩色的東西,尤其是彩色的瓷磚。牛牛的房間内鋪有L塊正方形瓷磚。每塊磚的顔色有四種可能:紅、綠、藍、黃。給定一個字元串S, 如果S的第i個字元是’R’, ‘G’, ‘B’或’Y’,那麼第i塊瓷磚的顔色就分别是紅、綠、藍或者黃。

牛牛決定換掉一些瓷磚的顔色,使得相鄰兩塊瓷磚的顔色均不相同。請幫牛牛計算他最少需要換掉的瓷磚數量。

輸入描述:

輸入包括一行,一個字元串S,字元串長度length(1 ≤ length ≤ 10),字元串中每個字元串都是’R’, ‘G’, ‘B’或者’Y’。

輸出描述:

輸出一個整數,表示牛牛最少需要換掉的瓷磚數量

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
  char c[10];
    char a[4]={'R','G','B','Y'};
    int i,j,k;
    while(cin>>c)
        {  j=0;
        
          for(i=0;i<strlen(c)-2;i++)
              if(c[i]!=c[i+1]) ;
       
         else {
            j++;
            for(k=0;k<4;k++) 
            if(a[k]!=c[i]&&a[k]!=c[i+2]) c[i+1]=a[k];
    }
      
      if(c[strlen(c)-1]==c[strlen(c)-2]) j=j+1;  
         cout<<j<<endl;
    }

return 0;
}