【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.输入输出案例

输入:
 

WWWWWWWWWWWWWWWWWWWW
WWLWE

输出:

11:0
11:0
1:1

21:0
2:1

2.代码及解析

代码如下(示例):

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

}


总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/348141.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

权威的健康养生与医学基础知识科普学习信息汇总

目录 1 关于健康与食物营养的权威网址1.1 世界卫生组织&#xff08;World Health Organization: WHO&#xff09;1.2 美国国家卫生研究院 (National Institutes of Health: NIH)1.3 澳大利亚政府健康门户 (Healthdirect)1.4 国际食品信息委员会 (International Food Informatio…

[蓝桥学习] 前缀和与差分

前缀和原理 特点 求区间和 如果要实现一边修改一边查询&#xff0c;需要使用树状树组和线段树。 例题 题目很简单&#xff0c;但是代码实现惊艳到我了&#xff0c;是L就加1&#xff0c;是Q就减1&#xff0c;如果区间 [i,j] 是平衡子串的话&#xff0c;那它会在前缀prefix i …

计算机网络——网络层(1)

计算机网络——网络层(1&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 网络层&#xff1a;数据平面网络层概述核心功能协议总结 路由器工作原理路由器的工作步骤总结 网际协议IPv4主要特点不足IPv6主要特点现状 通用转发和SDN通用转发SDN&#xff08;软件…

ORM-08-EclipseLink 入门介绍

拓展阅读 The jdbc pool for java.(java 手写 jdbc 数据库连接池实现) The simple mybatis.&#xff08;手写简易版 mybatis&#xff09; 1. EclipseLink概述 本章介绍了EclipseLink及其关键特性&#xff1a;包括在EclipseLink中的组件、元数据、应用程序架构、映射和API。 本…

蓝桥OJ3694肖恩的投球游戏plus

二维差分 #include<bits/stdc.h> using namespace std;const int N 1e3 5; int a[N][N],d[N][N];int main() {int n, m, q;cin >> n >> m >> q;for (int i 1 ; i < n; i){for (int j 1; j < m; j){cin >> a[i][j];d[i][j] a[i][j] a…

大模型工作笔记

当前主要从三个方面入手解决幻觉问题&#xff1a; 检测数据中虚假信息&#xff0c;提升数据质量&#xff1b;扩大模型规模并增大预训练数据量&#xff0c;模型能力的提升能实现幻觉水平的降低&#xff1b;结合搜索增强以及知识库等方法&#xff0c;提升生成信息的准确性。 使…

C语言和C++中不定参数解析

你所看到的惊艳&#xff0c;都曾被平庸历练 文章目录 简介C语言不定参数不定参宏函数 C不定参数方法一&#xff1a;递归展开方式二&#xff1a;折叠表达式方法三&#xff1a;逗号表达式 总结 简介 相信学过c/c的佬们都知道&#xff0c;如果一个函数将自己的参数确定好后&#…

想成为offer收割机?收好这份面试实战攻略!

很多小伙伴之所以会屡屡求职失败&#xff0c;是因为他根本就不知道在面试当中面试官到底要的东西是什么。 所以面试时&#xff0c;大家要不断提醒自己&#xff1a;我是来找工作的&#xff0c;必须考虑清楚说什么样的话&#xff0c;做什么样的事&#xff0c;才对找工作有帮助。…

leetcode1237. 找出给定方程的正整数解

1237. 找出给定方程的正整数解https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/ 难度中等 101 给你一个函数 f(x, y) 和一个目标结果 z&#xff0c;函数公式未知&#xff0c;请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满…

Kali如何启动SSH服务并实现无公网ip环境远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …

计算机网络 第6章(应用层)

系列文章目录 计算机网络 第1章&#xff08;概述&#xff09; 计算机网络 第2章&#xff08;物理层&#xff09; 计算机网络 第3章&#xff08;数据链路层&#xff09; 计算机网络 第4章&#xff08;网络层&#xff09; 计算机网络 第5章&#xff08;运输层&#xff09; 计算机…

WebSocket服务端数据推送及心跳机制(Spring Boot + VUE):

文章目录 一、WebSocket简介&#xff1a;二、WebSocket通信原理及机制&#xff1a;三、WebSocket特点和优点&#xff1a;四、WebSocket心跳机制&#xff1a;五、在后端Spring Boot 和前端VUE中如何建立通信&#xff1a;【1】在Spring Boot 中 pom.xml中添加 websocket依赖【2】…

Python + Selenium —— 元素定位函数 find_element!

WebDriver 中的 find_element() 方法用来查找元素&#xff0c;并返回 WebElement 对象。是 WebDriver 中最常用的方法。 前面提到的八种定位方式都有对应的方法&#xff0c;如find_element_by_id()。 在 WebDriver 中还有一种用法&#xff0c;就是单纯的find_element()。需要…

年销180万辆的特斯拉,护城河却在崩塌

文&#xff5c;刘俊宏 2023年率先开启汽车价格战的马斯克&#xff0c;伤敌一百自损八千&#xff1f; 在1月25日的特斯拉2023Q4财报电话会上&#xff0c;特斯拉CEO马斯克对中国公司的竞争力如此感叹道&#xff0c;“要是没有贸易壁垒&#xff0c;他们将摧毁&#xff08;destroy…

FastDeploy项目简介,使用其进行(图像分类、目标检测、语义分割、文本检测|orc部署)

FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xff0c;并实现&#x1f51a;端到端的推理性能优化。包括 物…

Redis配置类,序列化

解释说明&#xff1a; 当前配置类不是必须的&#xff0c;因为 Spring Boot 框架会自动装配 RedisTemplate 对象&#xff0c;但是默认的key序列化器为JdkSerializationRedisSerializer&#xff0c;导致我们存到Redis中后的数据和原始数据有差别 如&#xff1a; 但是取是可以取出…

Linux第35步_在“移植uboot”前安装“libncurses5-dev,bison和flex”工具

在“移植uboot”前&#xff0c;需要在Ubuntu中安装“libncurses5-dev&#xff0c;bison和flex”工具&#xff0c;否则在“编译uboot”时&#xff0c;会报错。 一、了解相关知识 1、libncurses5-dev库是一个在Linux/Unix下广泛应用的图形函数库。 2、bison是用C编写的语法解析…

web蓝桥杯真题--13、水果摆盘

背景介绍 目前 CSS3 中新增的 Flex 弹性布局已经成为前端页面布局的首选方式&#xff0c;这次试题将利用 Flex 实现经典布局效果。 准备步骤 在开始答题前&#xff0c;你需要在线上环境终端中键入以下命令&#xff0c;下载并解压所提供的文件。 wget https://labfile.oss.a…

Vue+OpenLayers7入门到实战:快速搭建Vue+OpenLayers7地图脚手架项目。从零开始构建Vue项目并整合OpenLayers7.5.2

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章针对Vue初学者,对Vue不熟悉,甚至还不会Vue的入门学生读者。 本章会详细讲解从NodeJS环境到npm环境的各个步骤,再到使用vue-cli脚手架快速生成项目,以及添加OpenLayers7地图库依赖,编写简单的xyz高德地图显示…

AR 自回归模型

文章目录 总的代码ADF 检验(是否平稳)差分操作拟合AR 模型预测可视化总的代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt from statsmodels.tsa.ar_model import AutoReg from statsmodels.tsa.stattools import adfuller# 生成一个示例时间序…