#include <iostream> #include <vector> using namespace std; int main() { string s; cin >> s; int n = s.length(); vector<vector<int>> dp(n, vector<int>(2)); //表示到第i个位置至少需要染多少个 // dp[i][0]: 第i个是红色,dp[i][1]: 第i个是绿色 int count = 0; dp[0][0] = s[0]=='R' ? 0 : 1; dp[0][1] = s[0]=='G' ? 0 : 1; for(int i=1;i<n; i++){ int flag = 1; if(s[i]=='R') flag = 0; // flag 0 红 ,flag 1 绿 dp[i][0] = dp[i-1][0] + flag; dp[i][1] = min(dp[i-1][0]+(1-flag), dp[i-1][1]+(1-flag)); } cout << min(dp[n-1][0], dp[n-1][1]) << endl; }