51Nod-1418-放球游戏
来源:互联网 发布:淘宝推广工具有哪些 编辑:程序博客网 时间:2024/05/21 17:23
ACM模版
描述
题解
一道模拟题,AC率之高,令人发指,但是并不是说明这道题很水,毕竟A它的人数基数不大。
这里根据题意,需要额外考虑的是当球的个数是1个或者2个时,结果分别是0和1,然后,就需要考虑球放的位置了,当然,这其实是一个烟雾弹,我们只需要每次都尽量往中间放,使两边的球色最杂,这时,就要考虑到每种颜色球的个数了,如果某种颜色球只有一个,那么它只能提供1有效分;如果是0个,那么一分也提供不了;但是如果超过1个,那么一定可以提供2有效分。
模拟每次操作,最后将总分输出即可……
代码
#include <iostream>#include <cstring>using namespace std;const int MAXS = 55;const int MAXC = 3;char S[MAXS];int RGB[MAXC]; // 0R 1G B2int main(int argc, const char * argv[]){ int T; cin >> T; while (T--) { memset(RGB, 0, sizeof(RGB)); cin >> S; int len = (int)strlen(S); if (len == 1) { cout << "0\n"; continue; } else if (len == 2) { cout << "1\n"; continue; } int res = 1; RGB[S[0] == 'R' ? 0 : S[0] == 'G' ? 1 : 2]++; RGB[S[1] == 'R' ? 0 : S[1] == 'G' ? 1 : 2]++; for (int i = 2; i < len; i++) { for (int j = 0; j < 3; j++) { res += RGB[j] >= 2 ? 2 : RGB[j]; } RGB[S[i] == 'R' ? 0 : S[i] == 'G' ? 1 : 2]++; } cout << res << '\n'; } return 0;}
0 0
- 51Nod-1418-放球游戏
- 放球游戏(51nod 1418)模拟
- 51nod 1418 放球游戏
- 51nod 1418 放球游戏
- 51NOD 1418 放球游戏 模拟
- 51Nod 1418 放球游戏
- 51nod 1418 放球游戏
- 51nod 1418 放球游戏
- nod-1418-放球游戏
- 51nod 1418放球游戏(逻辑简化)
- 51Nod-1066-Bash游戏
- 51Nod-1069-Nim游戏
- 51Nod-1072-威佐夫游戏
- 51Nod-1459-迷宫游戏
- 51Nod-1381-硬币游戏
- 51Nod-1319-跳跃游戏
- 51Nod-1337-翻转游戏
- 51Nod-1390-游戏得分
- Unity多人游戏和网络功能(三) 游戏物体的派生
- Git Extensions等Windows客户端保存Git用户名密码
- android studio中查看keystore的sha1和md5
- 通过反射获取类的所有属性
- Unity多人游戏与网络功能(四)- 状态同步与远程动作
- 51Nod-1418-放球游戏
- Spring源代码解析(收藏)
- Oracle 11g Dataguard 物理备库配置Duplicate配置
- [leetcode] 313. Super Ugly Number
- Qt小项目(3):秒表计时
- “在XML文件中给代码加注释”请注意
- CSS样式表和JavaScript
- 开始搭建第一个JavaWeb应用
- [leetcode] 300. Longest Increasing Subsequence