这道题做个今天的结尾

比较简单

正在备战csp吗,正好刷一下

难度:简单
时/空限制:1s / 256MB
总通过数:1738
总尝试数:2584
来源:

CSP-J 2022 模拟赛

原题链接

4579. 相遇问题 - AcWing题库

题目描述

一个无限长的楼梯上站着两个人,其中一个人在第 a 级台阶上,另一个人在第 b 级台阶上。

两个人都可以自由的上下移动,每人每次可以向上或向下移动一级台阶。

每个人的每次移动都要消耗体力,具体为:

对于同一个人来说,其第 11次移动消耗的体力为 1,第 2 次移动消耗的体力为 2,第 3 次移动消耗的体力为 3,以此类推。

例如,如果一个人先向上移动一级台阶,再向下移动一级台阶,最后再次向上移动一级台阶,那么他消耗的总体力值为 1+2+3=6。

两个人想要通过合理移动,使得他们能够在同一级台阶上相遇,并且相遇时,两人消耗的总体力值之和尽可能小。

请你计算,两人消耗的总体力值之和的最小可能值。

输入格式

第一行包含一个整数 a。

第二行包含一个整数 b。

输出格式

一个整数,表示两人消耗的总体力值之和的最小可能值。

数据范围

所有测试点满足,1≤a,b≤1000,a≠b。

输入样例1:
3
4
输出样例1:
1
样例1解释

在本样例中,让第一个人上一级台阶或第二个人下一级台阶均可,消耗总体力为 1。

输入样例2:
101
99
输出样例2:
2
样例2解释

在本样例中,让第一个人下一级台阶,同时让第二个人上一级台阶即可,消耗总体力为 1+1=2。

输入样例3:
5
10
输出样例3:
9
样例3解释

在本样例中,一种最佳方案为让第一个人上两级台阶,同时让第二个人下三级台阶,消耗总体力为 1+2+1+2+3=9。

要解决这个问题,我们需要让两个站在不同台阶上的人通过移动相遇,并且使他们消耗的总体力值之和最小。
首先分析问题的关键特点
两人初始位置分别在第 a 级和第 b 级台阶
每次移动消耗的体力值等于移动次数(第 1 次 1 点,第 2 次 2 点,依此类推)
目标是找到最佳相遇点,使总消耗体力最小
解题思路
首先计算两人初始位置的距离 d = |a - b|
当 d = 1 时,只需其中一人移动 1 步,总消耗为 1
当 d > 1 时,最优策略是让两人向中间位置移动:
距离较近的人移动 k 步
距离较远的人移动 d-k 步
为使总消耗最小,应让两人的移动次数尽可能均衡

首先,我代码的思路是:
1.确保 a < b
2.当两人相邻时直接返回 1
3.计算中间点 c = (a+b)/2
4.计算 a 到 c-1 的体力消耗
5.计算 c+1 到 b 的体力消耗
6.输出总消耗

下面是我的代码

#include <bits/stdc++.h>
using namespace std;int main(){int a,b;cin>>a>>b;if(a>b){swap(a,b);}if(b-a==1){cout<<"1"<<endl;return 0;//特判}int s=0,c=(a+b)/2,ans=0;for(int i=a; i<=c-1; i++) ans++, s+=ans;ans=0;//清空for(int i=c+1; i<=b; i++) ans++, s+=ans;cout<<s;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92575.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92575.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92575.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于clodop和Chrome原生打印的标签实现方法与性能对比

今天想看看&#xff0c;基于clodop和Chrome原生打印的标签实现方法与性能对比。先看看DeepSeek关于这个问题的回答&#xff01; CloudPrint 和 Chrome 原生打印的区别 基本概念差异 CloudPrint (Clodop) 是基于云的打印服务解决方案需要安装专门的客户端程序支持跨平台、跨设备…

百度网盘如何做到下载速度最快?OpenSpeedy绿色安装版下载,开源免费网盘加速

下载地址获取点击这里打开&#xff1a;OpenSpeedy下载地址 打开解压后的文件夹&#xff0c;找到【OpenSpeedy.exe】应用程序&#xff0c;右键选择【以管理员身份运行】。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 主要特性&#xff1a; 免费开源蛮…

科技云报到:热链路革命:阿卡 CRM 的 GTM 定位突围

科技云报道原创。在企业数字化的工具箱里&#xff0c;“CRM” 一词早已不是 “全流程客户管理” 的代名词&#xff0c;而是从营销获客到客户信息沉淀&#xff0c;再到长期关系维护&#xff0c;仿佛要包揽从线索到复购的所有环节。但成立仅两年半的阿卡 CRM&#xff0c;却在实践…

什么是Graphical Abstract

什么是Graphical Abstract 现在都需要用Graphical Abstract&#xff0c;新加的好像。图形摘要&#xff08;Graphical Abstract&#xff09;是学术论文中一种以可视化方式浓缩呈现研究核心内容的图表&#xff0c;它通过简洁的图形、流程图、示意图或组合视觉元素&#xff0c;直观…

心灵笔记:正念冥想

定义&#xff1a;正念冥想&#xff08;Mindfulness Meditation&#xff09;是一种源自东方禅修、结合现代心理学的心理训练方法&#xff0c;核心是有意识地将注意力集中在当下的体验上&#xff0c;不加评判地觉察自身的 thoughts&#xff08;想法&#xff09;、feelings&#x…

微软推出革命性AI安全工具Project IRE,重塑网络安全防御新范式

面对日益复杂的网络安全威胁&#xff0c;微软近日发布了具有里程碑意义的Project IRE AI工具。这项创新性解决方案将人工智能与逆向工程技术深度融合&#xff0c;开创了自动化威胁检测的新纪元。据微软官方披露&#xff0c;该工具能够在不依赖人工干预的情况下&#xff0c;自主…

C#Attribute(特性)的定义与使用

1.什么是 Attribute1.1 定义 Attribute 是一种“声明式元数据&#xff08;declarative metadata&#xff09;”机制。 • 附加位置&#xff1a;程序集、模块、类型、字段、属性、方法、方法参数、方法返回值、事件、泛型参数、局部变量、本地函数、Lambda 表达式、甚至表达式树…

飞书对接E签宝完整方案

1、概述飞书和E签宝在各自领域都属于领先的产品&#xff0c;但因为E签宝与钉钉的特殊关系&#xff0c;一直以来E签宝都只实现了与钉钉的深度集成&#xff0c;一家企业如果想同时使用飞书和E签宝&#xff0c;则需要通过S-HUB这样的产品来进行桥接&#xff0c;用户在飞书端审批&a…

Mysql快速导出数据库设计说明书word文档(表结构、类型、注释、是否有主键)

主要有三种方式&#xff0c;根据你的需求来选择&#xff1a; 1、Mysql语句查询 优点&#xff1a;无需安装额外的软件&#xff0c;使用你常用的数据库可视化工具即可 缺点&#xff1a;受限于你的数据库可视化工具的导出功能&#xff0c;需要额外写脚本进行处理 2、Python脚本…

DigitalProductId解密算法php调试版piddebug.php

<?php // 使用数组字面量 $digits [B, C, D, F, G, H, J, K, M, P, Q, R,T, V, W, X, Y, 2, 3, 4, 6, 7, 8, 9]; //foreach ($digits as $digit) { // echo $digit."<br>"; //}$hexPidarray(0xc2,0x49,0x4b,0xcc,0x60,0x34,0x09,0xcd,0x96,0xf7,0xec,0…

IDEA快捷键壁纸分享

说明&#xff08;1&#xff09;因为显示器的尺寸不同&#xff0c;对快捷键显示的位置稍作调整 &#xff08;2&#xff09;这里默认您熟悉常用的快捷键&#xff0c;分享一些功能好用但是用的少的快捷键空壁纸笔记本壁纸&#xff08;15.6寸&#xff09;24 寸显示器壁纸

InnoDB vs MyISAM: MySQL存储引擎的世纪对决

选错存储引擎&#xff1f;你的数据库性能可能暴跌80%&#xff01; 本文用最直观的对比拆解MySQL两大核心存储引擎的差异&#xff0c;让你彻底明白什么场景该选谁。一、引擎全景图: 数据库的"心脏"之争 ❤️ #mermaid-svg-KTQko8kEUvOkTb4L {font-family:"trebuc…

【Avalonia】无开发者账号使用iOS真机调试跨平台应用

文章目录1. 要求1.1 无需Apple开发者账号1.2 最新版mac系统1.3 最新版Xcode2. 配对Mac3. 配置开发证书3.1 创建一个名为MTClient的Xcode项目3.2 找到签名证书3.3 配置签名3.4 配置标识符4. 真机调试4.1 设置应用首屏 Launch Screen4.2 设置应用图标5. 问题5.1 DI异常该问题的解…

【LLM实战|langchain】langchain基础

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 【LLM实战|langchain】langchain基础 1. 模型 I/O 封装 把不同的模型&#xff0c;统一封装成一个接口&#xff0c;方便更换模型而不用重构代码。 1.1 …

十九、MySQL-DQL-基本查询

基本查询代码&#xff1a;DQL:基本查询 1.查询指定字段 name,entrydate 并返回 -- 1.查询指定字段 name,entrydate 并返回 select name,entrydate from tb_emp;2.查询返回所有字段 -- 2.查询返回所有字段 -- 推荐 select id, username, password, name, gender, image, job, e…

CamX-骁龙相机修改

1. 修改视频模式预览尺寸和分辨率 vendor/codeaurora/packages/apps/SnapdragonCamera/src/com/android/camera/CaptureModule.javaprivate void updatePreviewSize() {int width mPreviewSize.getWidth();int height mPreviewSize.getHeight(); - mPreviewSize new …

容器技术基础与实践:从镜像管理到自动运行配置全攻略

1. 相比较虚拟机&#xff0c;容器有哪些技术优势&#xff1f;&#xff08;1&#xff09;直接在操作系统上运行&#xff0c;从而跨系统上的所有容器共享资源&#xff0c;‘&#xff08;2&#xff09;共享主机的内核。&#xff08;3&#xff09;与虚拟机相比&#xff0c;它需要的…

书生浦语第五期-L1G4-InternLM 论文分类微调实践(XTuner 版)

XTuner介绍一句话介绍XTuner&#xff1a;XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。核心特点&#xff1a;高效&#xff1a;支持在有限资源下微调大模型&#xff0c;如在8GB显存上微调7B参数模型&#xff0c;也支持多节点微调70B模型&#xff1b;自动分发高性能算…

从灵感枯竭到批量产出:无忧秘书创作平台如何重构内容生产者的工作流程?全环节赋能分析

在当今快节奏的数字时代&#xff0c;内容创作者面临着前所未有的挑战。无论是自媒体运营者、自由撰稿人还是企业营销人员&#xff0c;都需要高效地生产高质量的内容以满足市场需求。然而&#xff0c;灵感枯竭、效率低下以及内容质量不稳定等问题常常困扰着这些内容生产者。为了…

【开源工具】基于Python的PDF清晰度增强工具全解析(附完整源码)

📄✨ 【开源工具】基于Python的PDF清晰度增强工具全解析(附完整源码) 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。 🐋 希望大家多多支持,我们一起进…