描述

华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。

比赛规则和实际比赛规则相同, 在11分制下比分为10:11时还要继续比赛,直到分数差距达到2分;同理21分制下比分为20:21的时候也还要继续比赛。

比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):
WWWWWWWWWWWWWWWWWWWWWWLW
在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。如果一局比赛刚开始,则此时比分为0比0。

你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。

格式

输入格式

每个输入文件包含若干行字符串(每行至多20个字母),字符串有大写的W、L和E组成,也许中间有若干个空格。其中E表示比赛信息结束,程序应该忽略E之后的所有内容,E后面可能有干扰文字。

输出格式

输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔。

样例1

样例输入1

WWWWWWWWWWWWWWWWWWWW
WWLWE

样例输出1

11:0
11:0
1:121:0
2:1

限制

各个测试点1s

提示

十分简单,小心输入输出格式!^_^

问题链接:Vijos P1217 乒乓球

问题分析

这个问题是一个单纯的计算问题,逻辑并不复杂。

程序说明

能不用存储就应该不用存储。按字符流来处理的话,输入存储就省去了。

使用字符流变量暂存输出结果是一种比较好的做法,可以使得程序逻辑变得简洁。

本程序没有将公用的逻辑封装到函数中,这样做可以使得程序逻辑更加易读易懂。

题记

玩程序玩的就是时间和空间,不影响大原则的前提下,要能省则省。

参考链接:(略)

AC的C++程序如下:

#include <iostream>
#include <sstream>using namespace std;const int P11 = 11;
const int P21 = 21;int main()
{char c;int p11a, p11b, p21a, p21b;ostringstream ans11, ans21;p11a = p11b = p21a = p21b = 0;while(cin >> c) {if(c == 'E')break;else if(c == 'W') {// 11分制计算if(++p11a >= P11 && p11a - p11b >= 2) {ans11 << p11a << ":" << p11b << endl;p11a = p11b = 0;}// 21分制计算if(++p21a >= P21 && p21a - p21b >= 2) {ans21 << p21a << ":" << p21b << endl;p21a = p21b = 0;}} else if(c == 'L') {// 11分制计算if(++p11b >= P11 && p11b - p11a >= 2) {ans11 << p11a << ":" << p11b << endl;p11a = p11b = 0;}// 21分制计算if(++p21b >= P21 && p21b - p21a >= 2) {ans21 << p21a << ":" << p21b << endl;p21a = p21b = 0;}}}ans11 << p11a << ":" << p11b << endl << endl;ans21 << p21a << ":" << p21b << endl;cout << ans11.str() << ans21.str();return 0;
}

Vijos P1217 乒乓球【模拟+输入输出】相关推荐

  1. 一文讲清模拟信号、自然信号、数字信号、模拟输入输出

    模拟信号 模拟信号是指在一定周期内进行连续变化的信号,称之为模拟信号,经典的如:电压变化.声波强度变化.温度变化这些自然信号的变化一般称之为模拟信号. 从图中大家可以看到模拟信号的电平变化是逐渐增强与 ...

  2. 【转载】用TLC2543和TLV5618加P521打造隔离的单片机模拟输入输出系统

    一看标题可能有的朋友就会问了,你怎么又用P521啊?您先别着急,嘿嘿,我是又用P521了,因为P521价格便宜量又足我当然用它了.P521就是光耦里面的"大宝SOD"! 简单介绍一 ...

  3. Arduino教程 模拟输入输出以及电机和舵机控制

    一.模拟输入输出 0x01.输入: Arduino采用analogRead(analogInPin)函数读取0~5V的模拟信号,返回0~1023的整数 如:读入为500,那么测得电压为5×(500/1 ...

  4. 【模拟+输入输出】HDU-1218 Blurred Vision

    注解 1.简单模拟题.输入nm,输出(n-1)(m-1),最后一行和最后一列不需要处理.每个位置的新元素等于原先该位置的元素加上其右边的.下边的.右下边的元素之和. 2.注意输入输出的处理. 代码 # ...

  5. linux远程登录模拟输入输出重定向,从零开始学习Linux(三十三):Shell基础之输入输出重定向...

    1.标准输入输出 设备 文件名 类型 文件描述 键盘 /dev/stdin 0 标准输入 显示器 /dev/stdout 1 标准输出 显示器 /dev/stderr 2 标准错误输出 查看/dev目 ...

  6. Arduino入门小知识点总结(2)(红外感应开关 与 继电器接法 模拟输入输出tone函数)

    ** Arduino入门小知识点总结(2)(红外感应开关 与 继电器) ** 1.关于电磁继电器的接法 说来惭愧,本是多么简单的一个问题,我用了约十万六千三百二十七次心跳(这梗懂得都懂)的时间,才查到 ...

  7. P1042 乒乓球(模拟,字符串,不指定输入,洛谷,java)

    洛谷链接:https://www.luogu.com.cn/problem/P1042 借鉴链接:https://blog.csdn.net/a1439775520/article/details/9 ...

  8. 【noip模拟题】天神下凡(贪心)

    vijos某次模拟赛原题... 处理出每个圆的一级祖先就行了... 其实没有那么麻烦,贪心即可出解. 我们将每个圆转换成线段后按左端点小右端点大的方法排序 然后维护一个栈: 对于每一个圆i 如果栈顶右 ...

  9. PLC模拟量数据的处理

    模拟量被定义为在时间和数量上连续变化的信号.指PT.CT等各种传感器传输的电压.电流.频率等信号,即模拟信号. 模拟量是指变量在一定范围内连续变化的量,即可以取一定范围内的任意值(定义域).数字量是离 ...

最新文章

  1. 一致性hash算法虚拟节点_一致性哈希算法——虚拟节点
  2. 16位汇编相关寄存器
  3. tornado设置cookie和seesion
  4. iOS开发简单高效的数据存储
  5. 特殊类型结构--枚举
  6. 更喜欢使用Stream到byte[]
  7. Flutter之以阿里云图标库为例,使用多色图标
  8. R语言缺失值判断与处理mice包-3
  9. Permission denied (publickey).../RPC failed; curl 92 HTTP/2 stream 0 was.../pack exceeds maximum all
  10. 使用html2canvas生成海报,阿里云oss图片或网络图片报跨域问题
  11. 【百问网智能家居---基于单片机最小系统STM32F103C8T6_MINI的入门学习】
  12. 回声状态网络(ESN)对MNIST手写数字集识别
  13. CommandLineRunner和ApplicationRunner
  14. opencv下载过慢的问题
  15. 移动支付申请所需材料及流程整理
  16. 单片机c语言p1口转弯灯实验,单片机p1口转弯灯实验程序
  17. html css print打印,打印样式
  18. C语言中 %md 的输入输出使用(还有printf函数的 %0格式控制符的使用)
  19. 快速制作PDF文件的方法
  20. 安装 en_core_web_sm-3.0.0

热门文章

  1. DXUT框架剖析(8)
  2. 函数防抖debounce和节流throttle
  3. 大专适合学习php么_学好php能做什么?哪些人群适合学习php?
  4. python画卡通皮卡丘_实现童年Pokémon,教你用Python画一只属于自己的皮卡丘
  5. 【数据结构的魅力】002.单向、双向链表栈和队列递归
  6. Linux下mysql主从复制配置(CentOS7)
  7. get请求是否 csrf认证流程_CORS和CSRF修炼宝典
  8. c语言用参数确认递归,C语言程序设计(第4章函数)3
  9. swig c java gemt,SWIG C函数指针和JAVA
  10. java oop试题_java oop 试题