题目 2694: 蓝桥杯2022年第十三届决赛真题-最大数字【暴力解法】

最大数字

原题链接

🥰提交结果

在这里插入图片描述

思路

  • 对于每一位,我我们都要尽力到达 9

    所以我们去遍历每一位, 如果是 9 直接跳过这一位

    如果可以上调9 我们将这一位上调到 9 ,并且在a 中减去对应的次数

    同样的,如果可以下调9,我们将这一位下调到 9,并且在b中减去对应的次数

    如果上调和下调的次数都不够,就按找能加就加的原则

    ​ 例如:3->9 a=1 b=1

    • 3想要到达9上调的次数不足以使他到达9,同样下调也不行,这个时候,全加上就可以了,同时别忘记扣除对应次数。

这里要注意,并不是上调或下调到9的次数小就选次数少的,两种选法是不一定的:

  • 3327621916603411 7 9

    对于这个测试用例,每一位就可以存在两种操作,上调或者下调,两种都要试一遍,最后取得最大值是答案。(如果不考虑加和减的顺序,最后测试点通过情况只能拿97分亲身实践!)

在这里插入图片描述

代码

#include <iostream>
#define int long long
using namespace std;//特殊测试用例: 3327621916603411 7 9
inline string maxNum1(string st, int a, int b) {for (int i = 0; i < st.length(); i++) {int x = st[i] - '0';int up = 9 - x;									int down = x + 1;								if (x == 9) {									continue;} else if (up <= a) {		//能够上调x += up;a -= up;} else if (down <= b) { 	//能够下调			b -= down;x = 9;} else if (up > a) {	x += a;a = 0;} else if (a == 0 && b == 0) break;st[i] = x + '0';}return st;
}inline string maxNum2(string st, int a, int b) {for (int i = 0; i < st.length(); i++) {int x = st[i] - '0';int up = 9 - x;								int down = x + 1;								if (x == 9) {								continue;} else if (down <= b) { 			b -= down;x = 9;} else if (up <= a) {	x += up;a -= up;} else if (up > a) {		x += a;a = 0;} else if (a == 0 && b == 0) break;st[i] = x + '0';}return st;
}inline string findMax(string a, string b) {if (a > b) return a;else return b;
}signed main() {ios::sync_with_stdio(false);cin.tie(0);int a, b;string st;cin >> st;cin >> a >> b;st = findMax(maxNum1(st, a, b), maxNum2(st, a, b));cout << st << endl;
}	

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

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

相关文章

MongoDB的安装和使用

1.MongoDB 安装 1.1 基于Docker安装 docker run --restartalways -d --name mongo -v /opt/mongodb/data:/data/db -p 27017:27017 mongo:4.0.6 1.2 客户端工具使用 MongoDB Compass | MongoDB 2.MongoDB 使用 2.1 引用依赖包 <dependency><groupId>org.sprin…

YOLOV5 分类:利用yolov5进行图像分类

1、前言 之前介绍了yolov5的目标检测示例,这次将介绍yolov5的分类展示 目标检测:YOLOv5 项目:训练代码和参数详细介绍(train)_yolov5训练代码的详解-CSDN博客 yolov5和其他网络的性能对比 yolov5分类的代码部分在这 2、数据集准备 yolov5分类的数据集就是常规的摆放方式…

TypeScript 中文错误消息

TypeScript 本身支持多语言显示错误消息&#xff0c;默认会追随操作系统或开发工具选择一个显示错误消息的语言。如果我们想强制让其显示某种语言可以如下设置&#xff0c;例如强制显示中文 命令行输入如下 npx tsc --locale zh-CN 对于 vsCode 中的错误消息可如下设置 设置…

[C++][算法基础]模拟散列表(哈希表)

维护一个集合&#xff0c;支持如下几种操作&#xff1a; I x&#xff0c;插入一个整数 x&#xff1b;Q x&#xff0c;询问整数 x 是否在集合中出现过&#xff1b; 现在要进行 N 次操作&#xff0c;对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N&#xff0c;…

macU盘在电脑上读不出来 u盘mac读不出来怎么办 macu盘不能写入 Tuxera NTFS for Mac免费下载

对于Mac用户来说&#xff0c;使用U盘是很常见的操作&#xff0c;但有时候可能会遇到Mac电脑无法读取U盘的情况&#xff0c;这时候就需要使用一些特定的工具软件来帮助我们解决问题。本文就来告诉大家macU盘在电脑上读不出来是怎么回事&#xff0c;u盘mac读不出来怎么办。 一、m…

结构型模式--2.桥接模式【大海贼时代】

1. 组建海贼团 哥尔D罗杰是罗杰海贼团船长。他最终征服了伟大航路&#xff0c;完成了伟大航路的航行&#xff0c;被人们成为海贼王。后来得了绝症&#xff0c;得知自己命不久矣&#xff0c;主动自首并在东海罗格镇被处刑。临死前罗杰的一句话“想要我的宝藏吗&#xff1f;想要…

期货量化交易软件:MQL5 中的范畴论 (第 15 部分)函子与图论

概述 在上一篇文章中&#xff0c;我们目睹了前期文章中涵盖的概念&#xff08;如线性序&#xff09;如何视作范畴&#xff0c;以及为什么它们的“态射”在与其它范畴相关时即构成函子。在本文中&#xff0c;我们赫兹量化软件将阐述来自前期文章中的概括&#xff0c;即通过查看…

【示例】MySQL-SQL语句优化

前言 本文主要讲述不同SQL语句的优化策略。 SQL | DML语句 insert语句 插入数据的时候&#xff0c;改为批量插入 插入数据的时候&#xff0c;按照主键顺序插入 大批量插入数据的时候&#xff08;百万&#xff09;&#xff0c;用load指令&#xff0c;从本地文件载入&#x…

实现鼠标在页面点击出现焦点及大十字星

近段时间&#xff0c;在完成项目进度情况显示时候&#xff0c;用户在操作鼠标时候&#xff0c;显示当鼠标所在位置对应时间如下图所示 代码实现步骤如下&#xff1a; 1.首先引用 jquery.1.7.js 2.再次引用raphael.js 3.然后引用graphics.js 4.最后引用mfocus.js 其中mfocu…

【UE Niagara】让粒子发出声音

步骤 首先新建一个Niagara发射器&#xff0c;使用Empty模板。打开后先添加一个“Spawn Burst Instantaneous”模块&#xff0c;设置发射数量为3 可以添加一个“Shape Location”使得每个粒子的初始位置不同 添加一个“Play Audio”模块&#xff0c;然后设置一个播放的音效 对N…

一个比 Celery 轻量好用的异步任务工具

文章目录 1、RQ安装2、RQ基本概念2.1、Queue2.2、Job2.3、Worker 3、RQ 高级用法3.1、自定义任务失败处理3.2、任务依赖关系3.3、定时任务 4、RQ web 界面5、查看任务结果6、RQ 与 celery 对比7、总结 Python RQ&#xff08;Redis Queue&#xff09;是一个轻量级的异步任务队列…

电脑文件名乱码,数据恢复有高招!

在日常使用电脑的过程中&#xff0c;突然遭遇文件名乱码的情况&#xff0c;确实让人头疼不已。原本井井有条的文件目录&#xff0c;一下子变得杂乱无章&#xff0c;文件名变成了一堆无意义的乱码字符。这种情况不仅影响了文件的正常使用&#xff0c;还可能导致重要数据的丢失。…

当努力成为日常,你准备好“戒瘾”了吗

不知道从什么时候开始&#xff0c;我们的朋友圈里充斥着各种“努力打卡”、“奋斗不息”的标语。大家仿佛一夜之间都变成了“卷王”&#xff0c;不是在努力就是在努力的路上…… 卷王争霸 努力成瘾的序幕 在每个看似充满正能量的背后&#xff0c;却隐藏着一个不容忽视的现象—…

java快速构建飞书API消息推送、消息加急等功能

文章目录 飞书机器人自定义机器人自定义应用机器人 自定义应用发送消息普通文本 text富文本 post图片 image文件 file语音 audio视频 media消息卡片 interactive分享群名片 share_chat分享个人名片 share_user 批量发送消息消息加急发送应用内加急发送短信加急 发送电话加急spr…

论文复现:nn.L1Loss()

nn.L1Loss() 是 PyTorch 中的一个损失函数&#xff0c;属于 torch.nn 模块的一部分。它计算预测值和真实值之间差的绝对值的平均值&#xff0c;也就是 L1 距离&#xff08;或曼哈顿距离&#xff09;。这个损失函数常用于回归任务&#xff0c;特别是当你希望减少异常值对总体损失…

核心api实操-Activiti7从入门到专家(5)

背景 上一节已经搭建了&#xff0c;具体的开发环境&#xff0c;数据库&#xff0c;并且找了一个可以用bpmnjs流程设计器&#xff0c;这一些&#xff0c;我们对核心api做个基础的实操&#xff0c;有个感性的认知&#xff0c;另外对数据库和基本数据流动有个理解。 部署 模板部…

深度学习pytorch实战第P2周:CIFAR10彩色图片识别

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊](https://mtyjkh.blog.csdn.net/)** 零、引言&#xff08;温故而知新&#xff…

智能合约平台开发指南

随着区块链技术的普及&#xff0c;智能合约平台已经成为了这个领域的一个重要趋势。智能合约可以自动化执行合同条款&#xff0c;大大减少了执行和监督合同条款所需的成本和时间。那么&#xff0c;如何开发一个智能合约平台呢&#xff1f;以下是一些关键步骤。 一、选择合适的区…

MySQL学习笔记2——基础操作

基础操作 一、增删改查1、添加数据2、删除数据3、修改数据4、查询语句 二、主键三、外键和连接1、外键2、连接 一、增删改查 1、添加数据 INSERT INTO 表名[(字段名[,字段名]…)] VALUES (值的列表); --[]表示里面的内容可选添加数据分为插入数据记录和插入查询结果 插入数据…

AI+BI,欢迎数据分析进入大模型时代

过去一年大模型应用集中爆发&#xff0c;中关村科金作为领先的对话式AI技术解决方案提供商&#xff0c;基于各个行业真实的业务痛点&#xff0c;围绕营销、服务与运营场景&#xff0c;创新打造和升级了知识助手、投顾助手、智能陪练等大模型应用&#xff0c;全面赋能客户经理展…