博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【CodeForces 626C】Block Towers
阅读量:6971 次
发布时间:2019-06-27

本文共 747 字,大约阅读时间需要 2 分钟。

给你n,m,如果 n个2的倍数和m个3的倍数,这n+m个数各不相同,那么求最大的数的最小值。

分析

方法1:枚举最大值为i,直到 i/2+i/3-i/6(不重复的2或3的倍数)≥n+m,并且要i/2(2的倍数)≥n,i/3(3的倍数)≥m。

方法2:枚举重复的数字i,i最小为6,每次增加6,设置两个结尾初始值为2*n,3*m,当两个结尾都比i大时,那就是还有重复。然后加在比较短的结尾。直到不再有重复。

 

代码

方法1

#include
#include
using namespace std;int main(){ int n,m,i; scanf("%d%d",&n,&m); i=max(2*n,3*m); while(i/2+i/3-i/6

方法2

#include
#include
using namespace std;int main(){ int n,m,end1,end2; scanf("%d%d",&n,&m); end1=2*n; end2=3*m; for(int i=6; i<=min(end1,end2); i+=6) { if(end1<=end2)//如果相等,加到2的倍数,更小 { end1+=2; } else { end2+=3; } } printf("%d",max(end1,end2)); return 0;}

 

转载地址:http://rfasl.baihongyu.com/

你可能感兴趣的文章
python模块之imghdr(识别不同格式的图片文件)
查看>>
HDU 1823 Luck and Love 二维线段树
查看>>
ecshop二次开发常用代码
查看>>
GCD编程 之 略微提高篇
查看>>
第十四章 数字签名算法--RSA
查看>>
Deep Learning for Nature Language Processing --- 第四讲(下)
查看>>
第一次打开Photoshop时的基本设置
查看>>
讲座:计算机专业及其学习
查看>>
CentOS 7 启动、重启、chkconfig等命令已经合并为systemctl
查看>>
POI 中的CellRangeAddress 参数
查看>>
Http Request
查看>>
Map集合中value()方法与keySet()、entrySet()区别 《转》
查看>>
Thrift反序列化导致OOM(转)
查看>>
自定义用户登录,会话保持,登录后自动跳转原页面
查看>>
Quartz的cronTrigger表达式
查看>>
李洪强经典iOS面试题11
查看>>
知乎上关于游戏引擎的讨论
查看>>
解决:error: Cannot fetch repo (TypeError: expected string or buffer)
查看>>
oracle 11g RAC 的一些基本概念(三)
查看>>
api数据接口
查看>>