博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 1648 (推公式) Business Center
阅读量:4552 次
发布时间:2019-06-08

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

题意:

有一种奇怪的电梯,每次只能向上走u个楼层或者向下走d个楼层

现在有m个这种电梯,求恰好n次能够到达的最小楼层数(必须是正数),最开始默认位于第0层。

分析:

假设电梯向上走x次,则向下走n-x次,则所到达的楼层为xu - (n-x)d ≥ 0

(u+d)x ≥ nd,x的最小值为

换句话说,如果nd % (u+d) == 0, x = nd / (u+d)

否则 x = nd / (u+d) + 1

考虑到不能停到0楼的条件:当nd % (u+d) == 0会出现这种情况,所以只能多上一次u个楼层,少下一次d个楼层,所以这样最终会停在u+d层

1 #include 
2 3 int main() 4 { 5 int n, m; 6 7 while(scanf("%d%d", &n, &m) == 2) 8 { 9 int ans = 1000000000;10 while(m--)11 {12 int u, d;13 scanf("%d%d", &u, &d);14 if((n*d) % (u+d) == 0) { if(u+d < ans) ans = u+d; }15 else16 {17 int x = (n*d) / (u+d) + 1;18 int t = x*(u+d)-n*d;19 if(t < ans) ans = t;20 }21 }22 printf("%d\n", ans);23 }24 25 return 0;26 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4299114.html

你可能感兴趣的文章
可以不改MD5程序内容吗?可以!
查看>>
关于weight属性使用的一些细节
查看>>
Mybatis源码研究1:从JDBC到Mybatis
查看>>
Solr
查看>>
键盘录入一串字符并取出做字符序列,计算各个字符的个数
查看>>
23 python多线程threading及线程同步
查看>>
Django之ModelForm
查看>>
简单的requestAnimationFrame动画
查看>>
hdoj-3791-二叉搜索树(二叉搜索树模板题)
查看>>
【裴蜀定理】[HAOI2011]向量
查看>>
os模块
查看>>
Windows下启动停止Oracle11g服务-为解决系统变慢而生
查看>>
基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践
查看>>
null与undefind的区别(转)
查看>>
Web前端的状态管理(State Management)
查看>>
EF|CodeFirst数据并发管理
查看>>
[Java] Spring boot2 整合 Thymeleaf 后 去除模板缓存
查看>>
java并发:阻塞队列
查看>>
[NOI2001] 炮兵阵地 (状压Dp经典例题)
查看>>
Selenium三种等待元素的方式及代码,需要特别注意implicitlyWait的用法
查看>>