交叉模拟——乒乓球
2017-01-13 16:43
155 查看
SSL 1027
洛谷 P1042 乒乓球
题目描述
华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。
比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):
WWWWWWWWWWWWWWWWWWWWWWLW
在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。如果一局比赛刚开始,则此时比分为0比0。直到分差大于或者等于2,才一局结束。
你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。
分析
直接模拟比赛场景,读入需要注意一下
洛谷 P1042 乒乓球
题目描述
华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。
比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):
WWWWWWWWWWWWWWWWWWWWWWLW
在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。如果一局比赛刚开始,则此时比分为0比0。直到分差大于或者等于2,才一局结束。
你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。
分析
直接模拟比赛场景,读入需要注意一下
var a:array[1..50000]of char; i,j,k,w,l:longint; s:char; begin while not eof do begin read(s); if s='E' then break; if (s='W') or (s='L') then begin inc(k); a[k]:=s; end; end; for i:=1 to k do begin if a[i]='W' then inc(w) else inc(l); if ((w>10) or (l>10)) and (abs(w-l)>1) then begin writeln(w,':',l); w:=0; l:=0; end; end; if (w<>0) or (l<>0) then writeln(w,':',l); if (w=0) and (l=0) then writeln(0,':',0); l:=0; w:=0; writeln; for i:=1 to k do begin if a[i]='W' then inc(w) else inc(l); if ((w>20) or (l>20)) and (abs(w-l)>1) then begin writeln(w,':',l); w:=0; l:=0; end; end; if (w<>0) or (l<>0) then writeln(w,':',l); if (w=0) and (l=0) then writeln(0,':',0); end.
相关文章推荐
- 洛谷 1023——乒乓球(交叉模拟)
- 普及练习场 交叉模拟 乒乓球
- 普及练习场 交叉模拟 均分纸牌
- 普及练习场 交叉模拟 花生采摘
- NOIP 2003 - 普及组 乒乓球 模拟+“高级”水题 重庆一中高2018级竞赛班第八次测试 2016.8.7 Problem 4
- 交叉模拟——花生采摘
- 乒乓球的运动模拟
- 交叉模拟——均分纸牌
- 普及练习场 交叉模拟 字符串的展开
- Ubuntu12.04下建立交叉编译环境、使用QEMU模拟Cortex-A9、QEMU运行uboot
- 普及练习场之交叉模拟
- 洛谷 1086——花生采摘(交叉模拟)
- OpenMPI学习笔记(五)之乒乓球比赛模拟(一)
- 【模拟】洛谷 P1042 乒乓球
- 普及练习场 交叉模拟 税收与补贴问题
- noip2003 乒乓球 (模拟)
- Vijos P1217 乒乓球【模拟+输入输出】
- [luoguP1042] 乒乓球(模拟)
- QNX下交叉编程的实现
- POJ-1472 Instant Complexity 模拟