码迷,mamicode.com
首页 > 其他好文 > 详细

2017/9/3模拟赛T1

时间:2017-09-04 15:07:54      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:iostream   abc   cst   print   bool   答案   font   car   card   

技术分享

题解:这题是一道判断题,分5种情况讨论,以下为了方便以ABC为例

①若只有A,答案为A

②若A、B、C都有,答案为ABC

③若只有AB,答案为C

④若AAB式,答案为BC

⑤若只有A、B且AB均大等于2,答案为ABC

代码如下:

 

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 int n,cnt[3],cur;
 5 char a[205];
 6 bool pd(){
 7     for(int i=0;i<=2;i++) if(cnt[i]>=2) cur++;
 8     if(cur>=2) return true;
 9     return false;
10 }
11 int main()
12 {
13     freopen("card.in","r",stdin);
14     freopen("card.out","w",stdout);
15     scanf("%d\n",&n);
16     for(int i=1;i<=n;i++){
17         scanf("%c",&a[i]);
18         if(a[i]==B) cnt[0]++;
19         else if(a[i]==G) cnt[1]++;
20         else cnt[2]++;
21     }
22     if(cnt[0]&&!cnt[1]&&!cnt[2]){printf("B");return 0;}
23     if(cnt[1]&&!cnt[0]&&!cnt[2]){printf("G");return 0;}
24     if(cnt[2]&&!cnt[0]&&!cnt[1]){printf("R");return 0;}
25     if(cnt[0]==1&&cnt[1]==1&&!cnt[2]){printf("R");return 0;}
26     if(cnt[1]==1&&cnt[2]==1&&!cnt[0]){printf("B");return 0;}
27     if(cnt[0]==1&&cnt[2]==1&&!cnt[1]){printf("G");return 0;}
28     if(cnt[0]&&cnt[1]&&cnt[2]){printf("BGR");return 0;}
29     if(cnt[0]>=2&&cnt[1]==1&&!cnt[2]){printf("GR");return 0;}
30     if(cnt[1]>=2&&cnt[0]==1&&!cnt[2]){printf("BR");return 0;}
31     if(cnt[1]>=2&&cnt[2]==1&&!cnt[0]){printf("BR");return 0;}
32     if(cnt[2]>=2&&cnt[1]==1&&!cnt[0]){printf("BG");return 0;}
33     if(cnt[0]>=2&&cnt[2]==1&&!cnt[1]){printf("GR");return 0;}
34     if(cnt[2]>=2&&cnt[0]==1&&!cnt[1]){printf("BG");return 0;}
35     if(pd()){printf("BGR");return 0;}
36 }

 

2017/9/3模拟赛T1

标签:iostream   abc   cst   print   bool   答案   font   car   card   

原文地址:http://www.cnblogs.com/Beginner-/p/7473145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!