题目背景

国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中1111分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白1111分制和2121分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。

题目描述

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

比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):

WWWWWWWWWWWWWWWWWWWWWWLW

在1111分制下,此时比赛的结果是华华第一局1111比00获胜,第二局1111比00获胜,正在进行第三局,当前比分11比11。而在2121分制下,此时比赛结果是华华第一局2121比00获胜,正在进行第二局,比分22比11。如果一局比赛刚开始,则此时比分为00比00。直到分差大于或者等于22,才一局结束。

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

输入输出格式

输入格式:

每个输入文件包含若干行字符串,字符串有大写的WW、LL和EE组成。其中EE表示比赛信息结束,程序应该忽略E之后的所有内容。

输出格式:

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

输入输出样例

输入样例#1: 复制

WWWWWWWWWWWWWWWWWWWW

WWLWE

输出样例#1: 复制

11:0

11:0

1:1

21:0

2:1

下面还有一个用IO软件包优化的代码

import java.util.ArrayList;
import java.util.Scanner; public class pingpangqiu {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
int win1 = 0;
int lose1 = 0;
int win2 = 0;
int lose2 = 0;
int temp = 0;
Scanner sc =new Scanner(System.in);
String s = "";
// int count = 0;
while(true){
String str = sc.nextLine(); // count++;
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)=='E'){
temp = 1;
str = str.substring(0,i);
break;
}
}
s=s+str;
if(temp!=0){
break;
} }
sc.close();
// System.out.println(count); char [] num = s.toCharArray();
for (int i = 0; i < num.length; i++) { if(num[i]=='W'){
win1++;
win2++;
}else{
lose1++;
lose2++;
}
if((win1>=11 || lose1>=11) && Math.abs(win1-lose1)>=2){
System.out.println(win1+":"+lose1);
win1=0;
lose1=0;
}
if((win2>=21 || lose2>=21) && Math.abs(win2-lose2)>=2){
String ss =win2+":"+lose2;
list.add(ss);
win2=0;
lose2=0;
}
}
System.out.println(win1+":"+lose1);
System.out.println();
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println(win2+":"+lose2); } }
import java.io.BufferedInputStream;
import java.util.Scanner; public class pingpangqiu2 {
static String str; //有用的比赛信息
static int a,b; //两人的比分
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
Scanner sc = new Scanner(new BufferedInputStream(System.in));
do{
sb.append(sc.next());
}while(sb.indexOf("E")==-1); //出现E停止录入
//截取有用的字符串
str = sb.substring(0, sb.indexOf("E")+1); ps11();
System.out.println();
ps21(); } public static void ps11(){ //11
a = b = 0;
for(int i=0;str.charAt(i)!='E';i++){
if(str.charAt(i)=='W') a += 1;
else b += 1;
if((a-b>=2||b-a>=2)&&(a>=11||b>=11)) {//决出胜负
System.out.println(a+":"+b); //输出
a = b = 0; //重置
}
}
System.out.println(a+":"+b); //输出
} //11 改成 21 即可
public static void ps21(){//21
a = b = 0;
for(int i=0;str.charAt(i)!='E';i++){
if(str.charAt(i)=='W') a += 1;
else b += 1;
if((a-b>=2||b-a>=2)&&(a>=21||b>=21)) {//决出胜负
System.out.println(a+":"+b); //输出
a = b = 0; //重置
}
}
System.out.println(a+":"+b); //输出
} }

(Java实现) 洛谷 P1042 乒乓球的更多相关文章

  1. 洛谷 P1042 乒乓球

    P1042 乒乓球 var s:string; a1:array[1..50000] of char; i,n,x,y:longint; procedure f1; begin while not e ...

  2. 洛谷P1042 乒乓球【模拟】

    题目背景 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中111111分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役.华华就是其中一位 ...

  3. 洛谷——P1042 乒乓球

    https://www.luogu.org/problem/show?pid=1042 题目背景 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中11分制改 ...

  4. 洛谷P1042 乒乓球

    https://www.luogu.org/problem/P1042 #include<bits/stdc++.h> using namespace std; ]; int w,l; i ...

  5. Java实现 洛谷 Car的旅行路线

    输入输出样例 输入样例#1: 1 3 10 1 3 1 1 1 3 3 1 30 2 5 7 4 5 2 1 8 6 8 8 11 6 3 输出样例#1: 47.5 import java.util. ...

  6. Java实现 洛谷 P1738 洛谷的文件夹

    题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...

  7. Java实现洛谷 P1428 小鱼比可爱

    题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个"比可爱"比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只 ...

  8. 洛谷P1402——乒乓球

    原题链接: https://www.luogu.com.cn/problem/P1042 题面简述 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及.其中11分制 ...

  9. Java实现洛谷 P1007独木桥

    题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们.士兵 ...

随机推荐

  1. 关于Cookie的一点简单认识

    1.Cookie Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一服务器,是在客户端保持状态的方案.通常每个 Cookie 的大小不能超过4KB.客户端每次向服务器发出请求,就 ...

  2. GitHub 热点速览 Vol.19:如何叩响大厂的门?

    作者:HelloGitHub-小鱼干 摘要:进大厂,无疑是升职加薪走上人生巅峰的一个敲门砖,那,如何拿到这个敲门砖呢?前辈的经验之谈,无疑会给我们进大厂带来许多的经验参考,本周的#大厂面试经验之谈#主 ...

  3. ssh暴力破解解决方案(Centos7更改端口)

    服务器默认ssh远程连接端口为22端口,通常通过22远程连接的话,容易有ssh暴力破解的风险,给我们造成一定的损失.下面是更换ssh端口过程: 1.添加ssh端口 vim /etc/ssh/sshd_ ...

  4. 如何将项目发布到npm仓库

    有时候,我们希望将项目里的模块提升为公共模块,以便其他项目也能使用.在前端可以将模块发布到npm仓库,这样所有项目都可以通过 npm install youProject 使用模块了. 这个过程很简单 ...

  5. [hdu4598]二分图判定,差分约束

    题意: 给一个图,问能否给每个点分配一个实数值,使得存在一个数实数T,所有点满足:|value(i)| < T 且 u,v之间有边<=> |value(u)-value(v)| &g ...

  6. 实验三 UML建模工具的安装与使用

    一. 实验目的 1) 学习使用 EA(Enterprise Architect) 开发环境创建模型的一般方法: 2) 理解 EA 界面布局和元素操作的一般技巧: 3) 熟悉 UML 中的各种图的建立和 ...

  7. Docker 集成 Jenkins Gitlab 实现 CI/CD

    首先介绍下环境部分,文章中共涉及到三台服务器,分别用 Gitlab,Jenkins,Deploy 三个名称代替,部署在内网环境,同时因为政策原因,服务器无法直接连通外网.下载 Jenkins 插件时需 ...

  8. GraphQL-- 使用Apollo Server搭建Node服务端

    一.关于Apollo Server Apollo Server是一种使用JS创建GraphQL服务端的一个方案.它的兼容性比较好,可以很好地和GraphQL客户端进行兼容.同时它可以 独立作为服务端进 ...

  9. angular2 + bootstrap +jquery 实例

    一.Create a project process: 1.use Angular CLI to create an Angular Project "demo": need th ...

  10. CF838A

    题目链接:http://codeforces.com/contest/838/problem/A 知识点: (void) 题目大意: 给一个 \(n \times m\) 的 01 矩阵,对于矩阵在 ...