【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;	

}

总结

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

相关推荐
大闲在人2 小时前
C、C++区别还是蛮大的
c语言·开发语言·c++
Cosmoshhhyyy3 小时前
《Effective Java》解读第39条:注解优先于命名模式
java·开发语言
清水白石0084 小时前
Python 纯函数编程:从理念到实战的完整指南
开发语言·python
掘根4 小时前
【C++STL】平衡二叉树(AVL树)
开发语言·数据结构·c++
叫我一声阿雷吧4 小时前
JS实现响应式导航栏(移动端汉堡菜单)|适配多端+无缝交互【附完整源码】
开发语言·javascript·交互
前路不黑暗@4 小时前
Java项目:Java脚手架项目的文件服务(八)
java·开发语言·spring boot·学习·spring cloud·docker·maven
hetao17338374 小时前
2026-02-13~16 hetao1733837 的刷题记录
c++·算法
毅炼4 小时前
Java 集合常见问题总结(3)
java·开发语言·后端
沐知全栈开发4 小时前
ionic 对话框:深度解析与最佳实践
开发语言