【做题笔记】P1042 乒乓球
坑 #1:输入有若干行,但处理的时候要看成一个整体的信息。比如说第一行最后一局比分是 2:1
,这时不算比完,这个比分要继承到第二行的信息中继续处理。
坑 #2:一局结束,当且仅当其中一方比分大于等于11 分且双方比分分数之差大于等于 2 。注意这是乒乓球常识而不是 OI 常识,题面中最后一句话提到了这个问题,不过不够明显。
坑 #3:两种不同的分数制度输出之间要换行。
坑 #4:在 Windows 环境下,我们判断是否读完,直接写while(cin>>s)
,运行时先换行,再按 Ctrl+Z
,再换行就可以出结果了。
其他:注意代码细节。思路理清后大概十几分钟就能写完了。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
string s;
int a[2000009],b[2000009];
//a数组记录华华某一句某时刻是否有分,b数组记录华华对手
int main()
{
int n=0;
while(cin>>s)
{
for(int i=0;i<s.length();i++)
if(s[i]=='E')break;
else
if(s[i]=='W')a[++n]=1;
else b[++n]=1;
//这里n不用清零,直接将所有输入作为整体
}
int answ=0,ansl=0;
for(int i=1;i<=n;i++)
{
if(a[i])answ++;
if(b[i])ansl++;
if(answ>=11||ansl>=11)
{
if(abs(answ-ansl)>=2)
{
cout<<answ<<':'<<ansl<<endl;
answ=0,ansl=0; //一局结束后分数归零
}
}
}
cout<<answ<<':'<<ansl<<endl;
cout<<endl; //换行!!!
answ=0,ansl=0;
for(int i=1;i<=n;i++)
{
if(a[i])answ++;
if(b[i])ansl++;
if(answ>=21||ansl>=21)
{
if(abs(answ-ansl)>=2)
{
cout<<answ<<':'<<ansl<<endl;
answ=0,ansl=0;
}
}
}
cout<<answ<<':'<<ansl<<endl;
return 0;
}
【做题笔记】P1042 乒乓球的更多相关文章
- C语言程序设计做题笔记之C语言基础知识(下)
C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的 ...
- C语言程序设计做题笔记之C语言基础知识(上)
C语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行事.并且C是相当灵活的,用于执行计算机程序能完成的几乎 ...
- SDOI2017 R1做题笔记
SDOI2017 R1做题笔记 梦想还是要有的,万一哪天就做完了呢? 也就是说现在还没做完. 哈哈哈我竟然做完了-2019.3.29 20:30
- SDOI2014 R1做题笔记
SDOI2014 R1做题笔记 经过很久很久的时间,shzr又做完了SDOI2014一轮的题目. 但是我不想写做题笔记(
- SDOI2016 R1做题笔记
SDOI2016 R1做题笔记 经过很久很久的时间,shzr终于做完了SDOI2016一轮的题目. 其实没想到竟然是2016年的题目先做完,因为14年的六个题很早就做了四个了,但是后两个有点开不动.. ...
- LCT做题笔记
最近几天打算认真复习LCT,毕竟以前只会板子.正好也可以学点新的用法,这里就用来写做题笔记吧.这个分类比较混乱,主要看感觉,不一定对: 维护森林的LCT 就是最普通,最一般那种的LCT啦.这类题目往往 ...
- java做题笔记
java做题笔记 1. 初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序 ...
- SAM 做题笔记(各种技巧,持续更新,SA)
SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模 ...
- PKUWC/SC 做题笔记
去年不知道干了些啥,什么省选/营题都没做. 现在赶应该还来得及(?) 「PKUWC2018」Minimax Done 2019.12.04 9:38:55 线段树合并船新玩法??? \(O(n^2)\ ...
- POI做题笔记
POI2011 Conspiracy (2-SAT) Description \(n\leq 5000\) Solution 发现可拆点然后使用2-SAT做,由于特殊的关系,可以证明每次只能交换两个集 ...
随机推荐
- Flask之RESTFul API前后端分离
Flask之RESTFul API前后端分离 一:虚拟环境搭建的两种方式 1 pipenv的使用 pip install --user pipenv安装pipenv在用户目录下 py -m site ...
- Query的选择器
Query的选择器 一. 基本选择器 1. ID选择器 ID选择器#id就是利用DOM元素的id属性值来筛选匹配的元素,并以iQuery包装集的形式返回给对象. ...
- 使用Vue实现一个树组件
HTML代码: <!DOCTYPE html> <html> <head> <title>Vue Demo</title> <meta ...
- Leetcode Week2 Two Sum
Question Given an array of integers, return indices of the two numbers such that they add up to a sp ...
- 2020牛客寒假算法基础集训营1 I-nico和niconiconi
#include <bits/stdc++.h> #define dbg(x) cout << #x << "=" << x < ...
- Codeforce 567A - Lineland Mail
All cities of Lineland are located on the Ox coordinate axis. Thus, each city is associated with its ...
- Vue中封装axios
参考: https://www.jianshu.com/p/7a9fbcbb1114 https://www.cnblogs.com/dreamcc/p/10752604.html 一.安装axios ...
- php Allowed memory size of 134217728 bytes exhausted
报错:PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 72 bytes) in ...
- 'ssh-keygen' 不是内部或外部命令,也不是可运行的程序
右键我的电脑,点击环境变量,设置系统配置里面的Path 新增一个 D:\ruanjiananzhuangdizhi\Git\usr\bin 路径就可以了
- COS上传图片和显示图片
写这篇文章之前,我也是刚刚实现COS上传和显示图片.我百度了好多相关文章,COS上传图片成功的文章不少,上传后显示图片的文章几乎没有.于是写一篇记录下. COS上传图片推荐链接:https://blo ...