当前位置: 首页 > news >正文

蓝桥杯不知道叫什么题目

小蓝有一个整数,初始值为1,他可以花费一些代价对这个整数进行变换。
小蓝可以花贵1的代价将教数增加1。
小蓝可以花费3的代价将整数增加一个值,这个值是整数的数位中最大的那个(1到9) .小蓝可以花费10的代价将整数变为原来的2倍,
例如,如果整数为16花费3将整数变为22,

又如,如果整数为22花费1将整数变为33,

又如,如果整数为23,花费10将整数为 46。
请问,如果要将整数从初始值1变为 2024,请问限少需要多代价?
 

思路:注意!!!!只能从1开始推到2024,因为其中有一个状态方程是要求取出当前数字最大数字(1~9),所以倒着写是不可行的。另外还要写一个函数取出当前数字里面的最大数字(1~9)。。记忆化搜索,正常写出所有推出状态的方程,并且每次要重置一个非常大的值比大小,每个状态方程的边界要写清楚。当x == 2024的时候返回0,完成基准情况即可。

#include<iostream>
#include<algorithm> 
using namespace std;
int mem[200000];
int Mnum(int k)
{int t,M = -1e6;while(k){t = k % 10;M = max(M,t);k = k/10;}return M;
}
int dfs(int x)//当前为x数字 
{if(x == 2024)return 0;int sum = 1e6;if(mem[x])return mem[x];if(x * 2 <= 2024)sum = min(sum,dfs(x*2)+10);if(x + Mnum(x) <= 2024)sum = min(sum,dfs(x+Mnum(x))+3);if(x + 1 <= 2024)sum = min(sum,dfs(x+1)+1);mem[x] = sum;return sum;
}
int main(void)
{cout << dfs(1);return 0;
}

http://www.lryc.cn/news/490966.html

相关文章:

  • 最多可收集的水果数目
  • 戴尔 AI Factory 上的 Agentic RAG 搭载 NVIDIA 和 Elasticsearch 向量数据库
  • HarmonyOS4+NEXT星河版入门与项目实战(16)------ 状态管理 @State(页面数据刷新与渲染)
  • Origin教程003:数据导入(2)-从文件导入和导入矩阵数据
  • 设计自己的网络通信协议
  • 深入理解 Seata:分布式事务的最佳解决方案
  • JDK下载
  • 如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
  • React(六)——Redux
  • java抽奖系统(二)
  • STM32F10x 定时器
  • 从0开始学PHP面向对象内容之常用设计模式(适配器,桥接,装饰器)
  • 玩转数字与运算:用C语言实现24点游戏的扑克牌魅力
  • 前端入门之VUE--基础与核心
  • logback 初探学习
  • 在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?
  • 1992-2021年 各省市县经过矫正的夜间灯光数据(GNLD、VIIRS)区域汇总:省份、城市、区县面板数据
  • linux实战-黑链——玄机靶场
  • 鸿蒙NEXT开发案例:字数统计
  • uniapp vue2项目迁移vue3项目
  • 16.C++STL 3(string类的模拟,深浅拷贝问题)
  • 神经网络10-Temporal Fusion Transformer (TFT)
  • “iOS profile文件与私钥证书文件不匹配”总结打ipa包出现的问题
  • 《图像梯度与常见算子全解析:原理、用法及效果展示》
  • 【c++篇】:探索c++中的std::string类--掌握字符串处理的精髓
  • LlamaIndex ollama 搭建本地RAG应用,建立本地知识库
  • draggable的el-dialog实现对话框标题可以选择
  • 2024年Android面试总结
  • 树莓派3:64位系统串口(UART)使用问题的解决方法
  • SemiDrive E3 硬件设计系列---唤醒电路设计