思路
枚举三种能够得到该颜色的方法。
- 全是该颜色的卡牌。
- 另外两种卡牌的数量都大于等于一张。
- 另外的两种卡牌,一种大于等于两张,一种为零张,该颜色的卡牌大于等于一张。
我们用三个变量来记录每种卡牌出现的次数,然后按照以上的三种方法模拟即可。
AC 代码
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int n,r,b,g;
char a;int main(){// freopen("text.in","r",stdin);// freopen("text.out","w",stdout);ios::sync_with_stdio(0),cout.tie(0),cin.tie(0);cin>>n;for(int i = 1;i <= n;i++){cin>>a;if(a == 'R')r++;if(a == 'G')g++;if(a == 'B')b++;}if(b==n||(b==0 && g && r)||(g > 1 && r==0 &&b)||(g==0&& r>1 &&b)){cout<<"B";}if(g==n||(g==0 && b && r)||(b>1 && r==0 && g)||(b==0 && r>1 &&g)){cout<<"G";}if(r==n||(r==0 && b && g)||(b>1 && g==0 && r)||(b==0 && g>1 && r)){cout<<"R";}return 0;
}