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

系列文章目录

第一题 乒乓球


视频:http://【洛谷题单 - 算法 - 高精度】https://www.bilibili.com/video/BV1Ym4y1s7BD?vd_source=66a11ab493493f42b08b31246a932bbb

目录

系列文章目录

[第一题 乒乓球](#第一题 乒乓球)

前言

一、题目以及引领思考

二、题解与代码

1.输入输出案例

2.代码及解析

总结


前言

本题运用到了高精度算法,具体体现在记录乒乓赛输赢时有无数场,我们把每一场都记录在数组中,而不是简单的一两场


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目以及引领思考

|--------------|--------------------------------------------------------------------------------------|
| ①差值 | 正规乒乓球比赛,不仅分数要大于11(或21),两者分数相差也要大于2。如果比赛分数达到11-10,比赛会继续。直到一个人比另外一个人多两分。(如13-11) |
| ②思想 | 与埃筛法比较相似,只看其中一队,那另一队的胜利就代表我们所看重的那一对的失败,我们用1表示胜利的场,用2表示失败的场,存在数组里,然后用一个数进行统计数组中1,2的个数 |
| 误区 | 这个题还有一个重点就是记录分数时除了与胜利场数有关外,还与胜利顺序有关 |
[思路解析]

二、题解与代码

1.输入输出案例

输入:

cpp 复制代码
WWWWWWWWWWWWWWWWWWWW
WWLWE

输出:

cpp 复制代码
11:0
11:0
1:1

21:0
2:1

2.代码及解析

代码如下(示例):

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int a[1000000];
int  x,y;//记录输赢场数 
int main()
{
	char s;
	for(int i=1;cin>>s&&s!='E';i++)//读入每场的输赢 ,s起中间作用 
	{
		if(s=='W')a[i]=1;//赢的场记为1 
		else a[i]=2; //输的场记为2 
	}
	
//11进制如下: 
	
for(int i=1;1;i++)
{
	if(a[i]==1)x++;
	if(a[i]==2)y++;
	if(a[i]==0)//此时所有场次已经统计完,输出最后一次的记录结果 
	{
		cout<<x<<":"<<y<<endl<<endl;
	break;
	}
	if(x-y>=2||y-x>=2)//是否存在2的差值 
	if(x>=11||y>=11){//是否为11制 
	cout<<x<<":"<<y<<endl;	
		x=0;//清零,下一回合 
			y=0;}
}
x=0;//清零,方便21制计算 
y=0;

//21进制如下: 
for(int i=1;1;i++)
{
	if(a[i]==1)x++;
	if(a[i]==2)y++;
	if(a[i]==0)
	{
		cout<<x<<":"<<y<<endl;
	break;
	}
	if(x-y>=2||y-x>=2)
	if(x>=21||y>=21)
{	cout<<x<<":"<<y<<endl;
		x=0;
			y=0;	
}
}
return 0;	

}

总结

以上就是今天要讲的内容,本文介绍了洛谷中高精度算法的第一题,希望对您有所帮助~

相关推荐
TNTLWT6 分钟前
Qt控件:交互控件
开发语言·qt
量化金策9 分钟前
震荡指标工具
开发语言
北漂老男孩11 分钟前
ChromeDriver进程泄漏问题分析与最佳实践解决方案
开发语言·爬虫
李迟16 分钟前
Golang实践录:在go中使用curl实现https请求
开发语言·golang·https
YueiL16 分钟前
基于RK3588的智慧农场系统开发|RS485总线|华为云IOT|node-red|MQTT
c++·物联网·华为云·rk3588·rs485
二进制人工智能21 分钟前
【OpenGL学习】(二)OpenGL渲染简单图形
c++·opengl
Dream it possible!1 小时前
LeetCode 热题 100_寻找重复数(100_287_中等_C++)(技巧)(暴力解法;哈希集合;二分查找)
c++·leetcode·哈希算法
运维-大白同学1 小时前
go-数据库基本操作
开发语言·数据库·golang
动感光博1 小时前
Unity(URP渲染管线)的后处理、动画制作、虚拟相机(Virtual Camera)
开发语言·人工智能·计算机视觉·unity·c#·游戏引擎
丶Darling.2 小时前
Day119 | 灵神 | 二叉树 | 二叉树的最近共公共祖先
数据结构·c++·算法·二叉树