Codeforces626B - Cards【模拟】
2016-08-13 22:11
399 查看
题意:
两张相同可以合并成相同;
两张不同可以产生另外一个不同;
求最终的可能颜色;
思路:
模拟啊。
总共也就那么几种情况,具体看挫code…….
两张相同可以合并成相同;
两张不同可以产生另外一个不同;
求最终的可能颜色;
思路:
模拟啊。
总共也就那么几种情况,具体看挫code…….
#include<iostream> #include<cstdio> #include<map> #include<set> #include<string> #include<queue> #include<math.h> #include<string.h> #include<algorithm> using namespace std; #define eps 1e-8 typedef __int64 LL; char s[220]; int num[4]; char temp[4]; int main() { int n; scanf("%d",&n); scanf("%s",s); memset(num,0,sizeof(num)); temp[1]='B';temp[2]='G';temp[3]='R'; for(int i=0;i<n;i++) { if(s[i]=='B') num[1]++; if(s[i]=='G') num[2]++; if(s[i]=='R') num[3]++; } int x=0; for(int i=1;i<=3;i++) { if(!num[i]) x++; } if(x==2)//有两个0; { for(int i=1;i<=3;i++) if(num[i]) printf("%c",temp[i]); return 0; } if(x==1)//有一个0; { int g=0; for(int i=1;i<=3;i++) { if(num[i]==1) g++; } if(g==2)//有两个1,颜色为0的那个 { for(int i=1;i<=3;i++) if(!num[i]) printf("%c",temp[i]); return 0; } if(g==1)//有一个1,颜色为0和1个的那个 { for(int i=1;i<=3;i++) if(num[i]==1||!num[i]) printf("%c",temp[i]); return 0; } } printf("BGR"); return 0; } /* 2 BG 2 BR 2 GR 6 BGGGGG->BR 5 BGGGG ->BR */
相关文章推荐
- CodeForces 626B:Cards【模拟】
- codeforces-626-B. Cards(简单模拟)
- 【模拟】CodeForces - 140B New Year Cards
- Codeforces--626B--Cards(模拟)
- Codeforces--626B--Cards(模拟)
- Codeforces 651C Watchmen【模拟】
- CodeForces - 548B Mike and Fun (模拟)
- Codeforces--400A--Inna and Choose Options(模拟水题)
- Codeforces 792C Divide by Three By Assassin [模拟]
- Codeforces 821C Okabe and Boxes 思维模拟
- CodeForces 618A-Slime Combining【模拟】
- codeforces 600 A. Extract Numbers(字符串模拟)
- Codeforces 915C Permute Digits(模拟,暴力)
- Codeforces 689A. Mike and Cellphone(模拟)
- Codeforces 691C. Exponential notation(模拟)
- CodeForces 691C Exponential notation 模拟
- Codeforces-697B-Barnicle(模拟)
- codeforces 141A Amusing Joke(模拟水题)
- CodeForces - 825D Suitable Replacement(简单模拟)
- Codeforces 545D Queue【贪心+模拟】