8球是一种台球竞赛的规则。台面上有7个红球、7个黄球以及一个黑球,当然还有一个白球。对于本题,我们使用如下的简化规则:红、黄两名选手轮

流用白球击打各自颜色的球,如果将该颜色的7个球全部打进,则这名选手可以打黑球,如果打进则算他胜。如果在打进自己颜色的所有球之前就把黑

球打进,则算输。如果选手不慎打进了对手的球,入球依然有效。

现在给出打进的球(白球除外)的顺序,以及黑球由哪方打进,你的任务是判定哪方是胜者。

假设不会有一杆同时打进一颗黑球和其他彩球。

Input

输入包含多组数据。每组数据第一行是一个整数N(1≤N≤15),表示打进的球的个数,N=0表示结束。随后有一行,包含N个字符,依序表示打进的是何种

球。如果是B,表示是红方打进的黑球,如果是L,表示是黄方打进的黑球。如果是Y则表示是黄球,R表示红球。字符间没有空格。

所有输入都满足如下条件:最后一颗球打进时这局比赛正好结束,而且打进的红球和黑球都不超过7个。

Output

对每组数据,输出一行。如果红方胜,输出Red;黄方胜,输出Yellow

Sample input and output

Sample Input Sample Output
5
RYRRB
9
RRRRYRRRB
0
Yellow
Red

Source

电子科技大学第六届ACM程序设计大赛 初赛


这道题是道水题,关键在于黑球是谁打进的,只要一个人打进了黑球,如果对应此人的颜色球已经进了7个,那么这个人就赢了,否则就输了

原题网址:http://acm.uestc.edu.cn/#/problem/show/24

献上代码:

#include<iostream>
#include<string>
using namespace std; int main()
{
int n;
while (true)
{
cin >> n;
if (!n)
break;
string s;
cin >> s;
int r = 0, y = 0;
for (int i = 0; i < s.length(); i++)
{
r += s[i] == 'R';
y += s[i] == 'Y';
if ((s[i] == 'L'&&y == 7) || (s[i] == 'B'&&r < 7))
cout << "Yellow" << endl;
if ((s[i] == 'B'&&r == 7) || (s[i] == 'L'&&y < 7))
cout << "Red" << endl;
}
}
return 0;
}

最新文章

  1. CentOS下Hadoop-2.2.0集群安装配置
  2. 使用aspose.cell导出excel需要注意什么?
  3. virtualbox 在window10上的兼容性调整
  4. hdu 4046 Panda 树状数组
  5. zznu 1068: 进制转换
  6. WPF笔记(1.4 布局)——Hello,WPF!
  7. 201521123060 《Java程序设计》第12周学习总结
  8. BZOJ_2141_排队_树状数组+分块
  9. oracle优化技巧及实例(总结)
  10. HDU ACM 1869 六度分离(Floyd)
  11. RabbitMQ在特来电的深度应用
  12. Python2安装igraph
  13. HTTP协议(一)基本概念、HTTP方法、HTTP状态码
  14. anoconda 神经网络 相关操作
  15. 【转载】Mysql主从复制、和MySQL集群(主主复制)
  16. Java-02-动手动脑
  17. number类型转化为string类型
  18. (四)静态断言(上),assert,NDEBUG, 以及通过宏定义处理文件包含关系
  19. elasticsearch 相关
  20. Lower dc/dc-converter ripple by using optimum capacitor hookup

热门文章

  1. Kubernetes的主要功能
  2. 【全面】Linux基础知识和基本操作语句大全(一)
  3. AND和OR
  4. Vmware安装与使用
  5. UVa 10564 DP Paths through the Hourglass
  6. react技术栈实践(1)
  7. Redhat7配置yum源(本地源和网络源)
  8. js中的事件委托和事件代理详解
  9. 九度oj 题目1362:左旋转字符串(Move!Move!!Move!!!)
  10. 【bzoj2134】单选错位 期望