【c++每天一题】 乒乓球

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

题目背景

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

题目描述

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

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

WWWWWWWWWWWWWWWWWWWWWWLW

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

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

输入格式

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

输出格式

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

输入输出样例

输入 #1复制

WWWWWWWWWWWWWWWWWWWW
WWLWE

输出 #1复制

11:0
11:0
1:1

21:0
2:1

说明/提示

每行至多 25 个字母,最多有 2500行。

(注:事实上有一个测试点有 2501 行数据。)

【题目来源】

NOIP 2003 普及组第一题

代码:

#include<iostream>
#include<string>
char s[100000];
using namespace std;
int main()
{
    int w,l,n=0;
    while(1)
    {
		n++;
    	cin>>s[n];
    	if(s[n]=='E')
    	{
    		break;
		}
	}
	for(int i=1;i<=n;i++)
	{
		if(s[i]=='W') w++;
		if(s[i]=='L') l++;
		if(w>=11||l>=11)
		{
			if(w-l>=2||l-w>=2)
			{
				cout<<w<<":"<<l<<endl;
				w=0;
				l=0;
			}
		}
	}
	cout<<w<<":"<<l<<endl<<endl;
	w=0;
	l=0;
	for(int i=1;i<=n;i++)
	{
		if(s[i]=='W') w++;
		if(s[i]=='L') l++;
		if(w>=21||l>=21)
		{
			if(w-l>=2||l-w>=2)
			{
				cout<<w<<":"<<l<<endl;
				w=0;
				l=0;
			}
		}
	}
	cout<<w<<":"<<l<<endl;
	return 0;
}

 

东华大学2020考研计算机OJ题目解答分享——进阶篇(65) 65 乒乓球 作者: ZhouMingLiang 时间限制: 10S章节: 字符串 问题描述 : 国际乒联主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。明明就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,明明首先需要对他多年比赛... 阅读详情

相关推荐

20道c++的经典题型,让新手快速入门

20道c++的经典题型,让新手快速入门。

星卯教育-信奥教练tony 1万+

C++实现乒乓球比分判定

主要为大家详细介绍了C++实现乒乓球比分判定,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

C++经典20题型,满满知识,看这一篇就够了(含答案)

今天找了20道c++的经典题型,看这一篇就够了,全是干货。一起来看看吧

阿玥的小博客 6141

c++ 乒乓球

华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。比赛规则和实际比赛规则相同, 在11分制下比分为10:11时还要继续比赛,直到分数差距达到2分;同理21分制下比分为20:21的时候也还要继续比赛比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。

2303_77622297的博客 1601

c++】高精度算法(洛谷刷题2024)乒乓球详解

本题运用到了高精度算法,具体体现在记录乒乓赛输赢时有无数场,我们把每一场都记录在数组中,而不是简单的一两场提示:以下是本篇文章正文内容,下面案例可供参考以上就是今天要讲的内容,本文介绍了洛谷中高精度算法的第一题,希望对您有所帮助~http://【洛谷题单 - 算法 - 高精度】https://www.bilibili.com/video/BV1Ym4y1s7BD?

2301_79982543的博客 1365

c++环境中,两个乒乓球队进行比赛,各出3人。甲队为a,b,c三人;乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请找到三对赛手的名单。

操作:代码如图所示,运行结果如图所示。重难点:字符的运用,字符的判断方法。

zhengxiandingni的博客 403

【转载】c++每日一题--乒乓球(NOIP 2003 普及组第一题

在 1111 分制下,此时比赛的结果是华华第一局 11 比 0 获胜,第二局 11 比 0 获胜,正在进行第三局,当前比分 1 比 1。而在 21分制下,此时比赛结果是华华第一局 21 比 0 获胜,正在进行第二局,比分 2 比 1。直到分差大于或者等于 2,才一局结束。其中第一部分是 11 分制下的结果,第二部分是 21 分制下的结果,两部分之间由一个空行分隔。华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在 1111 分制和 2121 分制下,双方的比赛结果(截至记录末尾)。

luruiping60421的博客 349

基于PyGame的乒乓球和滑雪小游戏

基于PyGame的乒乓球和滑雪游戏昝道广概述前言乒乓球游戏规则乒乓球游戏图形界面乒乓球游戏部分代码滑雪小游戏图形界面滑雪小游戏规则滑雪小游戏部分代码技术分析后记前言首先阿...

zandaoguang的博客 1126

基于springboot实现乒乓球预约管理系统项目【项目源码】

农机电招平台基于B/S的结构、主要采用JAVA语言开发,使得整个系统变得易于操作、界面简洁、使用安全。测试服务器为Tomcat8.0,结合Mysql数据库开发完成。随着系统软件的不断改进和升级,B/S结构产品更为方便的特征体现地十分明显。对于一个中等偏大的来说,如果系统管理员每天要在很多台电脑之间来回查看,不断奔走,那么效率和工作量就会变得很低,但是如果使用了B/S结构,那么管理员只要对服务器进行管理就够了。

ybigbear2的博客 560

分治法解乒乓球比赛日程安排问题

乒乓球比赛的日程安排 问题: 设有n位选手参赛,初赛进行n-1天,每位选手每天必须比赛一次,不能轮空。编程求解赛程安排。 分析: 1、求n位选手的赛程安排,可采用分治算法的思想,将问题规模不断缩小,比如缩小到8,4,2等规模大小; 2、分析2,4,8等小规模时的赛程安排: 分治算法主要思想: (1)、若原问题规模大小不便计算,将问题原本

Code杂货店 720

基于springboot实现乒乓球预约管理系统项目【项目源码】计算机毕业设计

随着B/S结构的不断发展,使用的人也不断增加,从而带动了AJAX技术的发展,和B/S结构一样,它也能在客户端上处理程序,这便缓解了服务器的负担,提高了交互性,而且实现了局部实时刷新。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大,随之出现了jar包版本之间的兼容性问题,而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性问题得到了很好的解决。Mysql是一个全面的,运用集成的商业智能工具提供级的数据管理。因此,在设计过程中必须遵循系统设计规则。

ybigbear1的博客 486

洛谷新手必看:如何用模拟题快速提升编程竞赛思维(附乒乓球计分器实现)

本文通过乒乓球计分器实例,详细解析如何利用模拟题提升编程竞赛思维,涵盖高精度计算、洛谷刷题路线及调试技巧。特别适合新手在洛谷平台通过模拟题训练快速掌握算法竞赛核心技能,包括高精度运算和复杂规则模拟。

sea99的博客 296

分治算法——乒乓球赛日程安排

问题: 设有n位选手参赛,初赛进行n-1天,每位选手每天必须比赛一次,不能轮空。编程求解赛程安排。 分析: 求n位选手的赛程安排,可采用分治算法的思想,将问题规模不断缩小,比如缩小到8,4,2等规模大小; 分析2,4,8等小规模时的赛程安排: AC #include <bits/stdc++.h> #define maxn 64 using namespace std; int a[maxn+1][maxn+1]={0}; void game(int k,int n){

小白兔奶糖の博客 371

C++编程学习阶段性总结

实例练习

醉后不知天在水,满船清梦压星河。 343

C++经典程序100例【3】

【程序21】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个    第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下    的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 1.程序分析:采取逆向思维的方法,从后往前推断。 2.程序源代码: main() { int day,x1,x2;

鲁家志的专栏 1295

C++编程这样学》第九章:字符数组和字符串- 加油站题解

C++编程这样学》第九章:字符数组和字符串- 加油站题解

面向信息学竞赛教学、解题、交流 1107

c++求小数的位数_【Java编程基本功】(六)猴子吃桃,运动员的出场顺序,abc三个数排序...

第十六题一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请找出一个这样的整数。代码:public 第十七题从键盘接收3个整数a,b,c,按大到小顺序输出。代码:public 第十八题猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩...

weixin_39946300的博客 98

暑期培训1期3

暑期培训1期3

yhhy666的博客 622

C++ Primer学习记录(4)

关于作用域和反转义

好梦不深的博客 338
上一篇: c++详解二分查找
下一篇: c++常考基础知识(2)
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值