8VC Venture Cup 2016 -A - Robot Sequence/B - Cards
2016-02-16 16:23
399 查看
http://codeforces.com/contest/626
A - Robot Sequence
直接暴力枚举n^2个子串,然后for一遍判断每个子串,左加右减,上加下减,看两个sum是否为零
B - Cards
分类讨论一下。。。
可以发现 当子串所含字母只有一个种类的时候,直接输出该种类
当子串含3个种类的时候,显然根据性质2,可以直接把整个串变成 BRG,最后能得到三个颜色
当种类的2的时候比较多情况一点:
如果两个种类个数都超过2,那么显然各拿出一个,根据性质1变出未出现的种类,那么又回到三种的情况了。
如果两个种类个数都为1,也就是BR,GR.BG,显然答案就是未出现过的字母
如果有一种个数不超过2,一个超过2,也就是BRR,GRR,BBG这样的情况,显然,他们得到两种结果,1是未出现过的字母,二是出现次数为1的字母.....如BRR的答案是 G和B
代码写得挫:
A - Robot Sequence
直接暴力枚举n^2个子串,然后for一遍判断每个子串,左加右减,上加下减,看两个sum是否为零
B - Cards
分类讨论一下。。。
可以发现 当子串所含字母只有一个种类的时候,直接输出该种类
当子串含3个种类的时候,显然根据性质2,可以直接把整个串变成 BRG,最后能得到三个颜色
当种类的2的时候比较多情况一点:
如果两个种类个数都超过2,那么显然各拿出一个,根据性质1变出未出现的种类,那么又回到三种的情况了。
如果两个种类个数都为1,也就是BR,GR.BG,显然答案就是未出现过的字母
如果有一种个数不超过2,一个超过2,也就是BRR,GRR,BBG这样的情况,显然,他们得到两种结果,1是未出现过的字母,二是出现次数为1的字母.....如BRR的答案是 G和B
代码写得挫:
#include <cstdio> #include <cmath> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #include <set> #include <vector> #include <iostream> using namespace std; __int64 mod=1000000000+7; char tm[205]; int vis[44]; int main() { int n,i,j; cin>>n; scanf("%s",tm+1); for (i=1;i<=n;i++) { if (tm[i]=='B') {vis[1]++;} if (tm[i]=='R') vis[2]++; if (tm[i]=='G') vis[3]++; } int cun=0; for (i=1;i<=3;i++) if (vis[i]) cun++; if (cun==3) { printf("BGR\n");return 0;} else if (cun==1) { if (vis[1]) printf("B\n"); else if (vis[2]) printf("R\n"); else printf("G\n"); return 0; } else if (cun==2) { int cc=0; for (i=1;i<=3;i++) if (vis[i]>=2) cc++; if (cc>=2) printf("BGR\n"); else { if (vis[2]&&vis[3]) { if (vis[2]==1&&vis[3]==1) printf("B\n"); else { if (vis[3]>=2) printf("BR\n"); else //RRG printf("BG\n"); } } if (vis[2]&&vis[1]) { if (vis[2]==1&&vis[1]==1) printf("G\n"); else { if (vis[2]>=2) printf("BG\n"); else printf("GR\n"); } } if (vis[1]&&vis[3]) { if (vis[1]==1&&vis[3]==1) printf("R\n"); else { if (vis[1]>=2) printf("GR\n"); else printf("BR\n"); } } } } return 0; }
相关文章推荐
- Java基础——数组应用之StringBuilder类和StringBuffer类
- ContentValues的用法
- UITabBarController自定义一
- NGUI制作字体的三种方法
- Kbuild
- iPads和iPhones的Media Queries
- UICollectionView使用以及与UITableView的区别
- JAVA 生成uuid
- IOS学习 UIView 页面布局
- SOUI GDI+渲染引擎下的字体特效
- iOS对UIView对象或子类对象截屏(截取的内容以UIImage的形式存储)
- UICollectionView基础
- 降低对象的引用级别到软引用 class SoftValueMap<K, V> extends HashMap<K, V>
- nyoj--1100--WAJUEJI which home strong!(bfs)
- nyoj--1100--WAJUEJI which home strong!(bfs)
- android 开源组件合集-UI篇(2014-08-25更新)
- MySQL关于Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- UITextView控件的用法
- easyUI datagird实现对行的任意拖拽移动位置
- MySQL的错误:No query specified