一种字符串,有 r , b , y , g, ! 五种组成,其中!为未知, r , b , y , g按照固定顺序排行, 求 r , b , y , g各有多少个。
用四个flag标记 r , b , y , g就好
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
const int MAX = 100+10;
char s[MAX];
int r,b,y,g;
int num[5];
int main()
{
memset(num, 0, sizeof(num));
r = b = y = g = 0;
scanf("%s", s);
for(int i = 0; s[i]; ++i)
{
if(s[i]=='!')num[i%4]++;
else if(s[i]=='R')r = i%4;
else if(s[i]=='B')b = i%4;
else if(s[i]=='Y')y = i%4;
else g = i%4;
}
printf("%d %d %d %d\n", num[r], num[b], num[y], num[g]);
return 0;
}