题目背景

国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中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. Excel函数有门槛,是编程

    Excel的公式体系,最简单的就是输入“=1+1”.“=2*3”.看起来没有门槛,但实质上是函数式编程,Range写Formula,Power Query写M语言,VBA里写Function.通过菜单 ...

  2. [hdu4301]DP

    题意:给一个2*n的矩形块,求把它分成k个连通块的方法数.(有公共边即视为联通) 思路:由于宽度只有2,于是很容易设计状态使问题满足阶段性以及无后效性.具体来说,令dp[i][j][0]和dp[i][ ...

  3. select嵌套问题

    关于sql语句: SELECT COUNT(ID) FROM dbo.N_Order_BusinessBatch WHERE Mobile='15210235082' And CreateTime=( ...

  4. SpringBatch异常To use the default BatchConfigurer the context must contain no more thanone DataSource

    SpringBoot整合SpringBatch项目,已将代码开源至github,访问地址:https://github.com/cmlbeliever/SpringBatch 欢迎star or fo ...

  5. .Net Core3.0 WebApi 项目框架搭建 一:实现简单的Resful Api

    .Net Core3.0 WebApi 项目框架搭建:目录 开发环境 Visual Studio 2019.net core 3.1 创建项目 新建.net core web项目,如果没有安装.net ...

  6. 初识Page Object

    PageObject是UI自动化测试项目开发实践的最佳设计模式之一,它的主要特点体现在对界面交互细节的封装上,使测试用例更加专注于业务的操作,从而提高测试用例的可维护性. 1.认识Page Objec ...

  7. 【雕爷学编程】Arduino动手做(54)---大按键点动模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  8. 若依微服务版本 Windows下开发环境搭建

    看了若依官网的教程,搭建环境还是踩了坑,简单整理一下 1.下载地址:https://gitee.com/y_project/RuoYi-Cloud 2.本地环境(仅供参考) JDK1.8 Mysql  ...

  9. SecureCRT VBscript连接指定端口和波特率

    crt.Session.Connect "/Serial COM2 /BAUD 38400" 其它可用选项参考: crt.session.connect options https ...

  10. LeetCode上的SQL练习

    184. 部门工资最高的员工 SELECT D. NAME Department, E. NAME Employee, E.Salary FROM -- 内连接两张查询表 Employee E INN ...