买不到的数目c++

题目

输入样例:

4 7

输出样例:

17

思路

一个字,猜。 

        一开始不知道怎么做的时候,想要暴力枚举对于特定的包装n, m,最大不能买到的数量maxValue是多少,然后观察性质做优化。那么怎么确定枚举结果是否正确呢?

        题目说“一定有解”,那么怎样的数据才有解?当gcd(n, m) 大于1,比如gcd(n, m) = 2,只要糖果的数量是2的倍数,那么这个数就能用n和m包装完,而糖果的数量不是2的倍数,就不能用n和m包装完,因此不存在最大不能买到的数量。而当gcd(n, m) 等于1时,必定有最大不能买到的数量。证明可以参考这篇文章:证明。

暴力代码如下:

#include<bits/stdc++.h>
using namespace std;bool dfs(int d, int p, int q)
{if (d == 0) return true;else if (d < 0) return false;if(dfs(d - p, p, q))return true;if(dfs(d - q, p, q))return true;return false;
}int main()
{int n, m;cin >> n >> m;/*求对于特定的包装n, m,最大不能买到的数量maxValue;先假定对任意的n, m,最大不能买的数不超过1000,如果结果maxValue超过1000,再扩大i的范围*/int maxValue = 0;for (int i = 1; i <= 1000; i ++){//若i不能买到if(!dfs(i, n, m))maxValue = i;}cout << maxValue;return 0;
}

以下是计算的一些样例:

//样例1
n m res
2 7 5
3 7 11
4 7 17
5 7 23
//每当n加1,那么res就加6,如果建立n和res的等式,res应该是n的6倍。那么有res = 6n + x;加上x是为了//让等式成立,代入得x = -7
res = 6n - 7//结果和上面类似
//样例2
n m res
2 5 3
3 5 7
4 5 11
res = 4n - 5
.
.
.
//猜公式
res = (m - 1)n - m

代码
#include<bits/stdc++.h>
using namespace std;int main()
{int n, m;cin >> n >> m;cout << (m - 1) * n - m;return 0;
}

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

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

相关文章

内存管理 三大技术(覆盖交换虚存)

1.覆盖技术 程序显然比内存要大的 因为A的话要调用很多&#xff0c;bc &#xff0c;所以把A放在了常驻区域&#xff0c;然后bc 再同一个分区&#xff0c;如果B调用的话那么这50k就是b在调用&#xff0c;DEF的话三的共享&#xff0c;需要的话就从内存中划拨出来。C在调E的时候&…

局域网管理工具

每个组织的业务运营方法都是独一无二的&#xff0c;其网络基础设施也是如此&#xff0c;由于随着超融合基础设施等新计算技术的发展&#xff0c;局域网变得越来越复杂&#xff0c;因此局域网管理也应该如此&#xff0c;组织需要量身定制的局域网管理解决方案&#xff0c;这些解…

VBA技术资料MF127:移动文件覆盖目标文件

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

Vivado HLS学习笔记

任意精度的数据类型 u 代表 unsigned&#xff0c;fixed代表定点数据&#xff0c;即常数 采用任意精度的数据类型可以使用更少的资源&#xff0c;硬件友好性 数据类型定义在 header file 中 表示任意进制 ap_int<6> a("101010",2); //二进制数据101010 ap_in…

overleaf latex 笔记

overleaf: www.overleaf.com 导入.tex文件 1.代码空一行&#xff0c;代表文字另起一段 2. 1 2 3 排序 \begin{enumerate} \item \item \item \end{enumerate} 3.插入图片 上传图片并命名 \usepackage{float}导包\begin{figure}[H]&#xff1a;表示将图…

四个有用的Android开发技巧

一. 通过堆栈快速定位系统版本 这个地方主要分享大家两个个技巧&#xff0c;通过问题堆栈简快速定位当前系统版本&#xff1a; 1. 快速区分当前系统版本是Android10以下&#xff0c;还是Android10及以上&#xff1b; 首先Android10及以上引入了一个新的服务Service&#xff…

vite+vue3使用UEditorPlus ,后端PHP

vitevue3使用UEditorPlus 百度富文本编辑器是目前所有编辑器中功能最丰富的&#xff0c;但长时间不进行维护了。 之前写了一篇使用UEditor的教程&#xff0c;最近发现一个UEditorPlus&#xff0c;总结一下如何使用 什么是UEditorPlus 基于 UEditor 二次开发的富文本编辑器&…

Launch学习

参考博客&#xff1a; (1) 史上最全的launch的解析来啦&#xff0c;木有之一欧 1 ROS工作空间简介 2 元功能包 src目录下可以包含多个功能包&#xff0c;假设需要使用机器人导航模块&#xff0c;但是这个模块中包含着地图、定位、路径规划等不同的功能包&#xff0c;它们的逻…

Python算法题集_N 皇后

Python算法题集_N 皇后 题51&#xff1a;N 皇后1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【规则遍历合理性回溯】2) 改进版一【线状态检测合理性回溯】3) 改进版二【单行矩阵回溯】 4. 最优算法5. 相关资源 本文为Python算法题集之一的代码…

R语言:多值提取到点

ArcGIS中有相关工具实现多值提取到点的功能&#xff0c;在这里&#xff0c;我将使用R语言进行操作&#xff1a; library(dplyr) library(readxl) library(sf) library(raster)setwd("D:/Datasets") Bio <- stack(paste0("D:/Datasets/Data/worldclim2_1km/…

echarts使用总结

最近项目大量的曲线图,柱状图,饼图...总结一下使用过程中的小问题及解决方法 . 1.当x轴太拥挤,x轴数据不能全部展示怎么办? 这时候就只需要在xAxis的axisLabel对象中添加属性 interval : 0 就可以显示全部数据 , interval 属性是用来调整x轴数据的间距的 , 数值越大间距越大…

融资项目——通过OpenFeign在分布式微服务框架中实现微服务的远程调用

1.OpenFeign配置 首先&#xff0c;在需要调用其他的微服务的微服务中引入相关依赖。&#xff08;大多数项目中各微服务需要互相调用&#xff0c;可以直接在每个微服务中引入依赖&#xff09; <!--服务调用--><dependency><groupId>org.springframework.clou…