题目

投票(Voting)

  • 时间限制:C/C++ 2秒,其他语言4秒
  • 空间限制:C/C++ 262144K,其他语言524288K
  • 64bit IO Format: %lld

题目描述

牛牛和牛妹在竞争技术组组长,于是同事们进行了一次不记名投票活动。
牛牛有特别的能力,可以在投票过程中对投票结果比窥探N次, 第i次窥探牛牛能够知道当前他的票数和牛妹的票数之比是n : m ,但是他没法窥探到确切的票数是多少。
在窥探完N次之后,牛牛想知道在满足所有窥探结果比的前提下,当前他和牛妹所得的票数之和最小为多少?
Alice and Bob are engaged in a competition for tech group leader, for which all colleagues are voting between them.
Given that Alice is able to see the voting results for N times. At the i-th time, she is to know the votes she has got against Bob’s in a ratio of n:m,however, she cannot see the actual amount of votes each time.
After seeing N times, given that all the ratios she sees are correct, Alice wants to know the minimal amount of votes that sums up both hers and Bob’s.
输入描述:
输入包括N+1行。
第一行为一个正整数N(1≤N≤1000)
接下来N行,每行两个正整数m, n ( m, n≤1000),保证两个数互质。
input contains \mathit N+1N+1 lines.
The 1st line is a positive integer N(1≤N≤1000)
Then N lines follow, each line containing two positive integers n,m
It is ensured that gcd(n_i, m_i) == 1gcd(ni ,mi)==1.

输出描述:
输出最小可能的票数之和,保证答案不会超过10^18 。
Output the minimal amount of votes that sums up both Alice’s and Bob’s, it is ensured that the answer does not exceed 10^18 .

示例1

输入
复制
3
2 3
1 1
3 2
输出
复制
10
说明
票数变化可能是:(2, 3) -> (3, 3) -> (6, 4),
所以最终的最小的票数之和为10。
the change of amount of votes can be : (2,3) -> (3, 3) -> (6, 4),
so the answer is 10.

示例2

输入
4
1 1
1 1
1 5
1 100
输出
101

示例3

输入
5
3 10
48 17
31 199
231 23
3 2
输出
6930

代码实现

分析:每次求得x的最小值minX,y的最小值minY。

  1. 如果(x >= minX && y >= minY) 那么直接赋值minX = x; minY = y;
  2. 否则就求最大的比例Math.ceil(((double)1.0 * minX) / x)Math.ceil(((double)1.0 * minY) / y), 如果有小数则进一。用x, y都乘以求得的最大倍数。赋值minX, minY.
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();long minX = 0;long minY = 0;for(int i = 0; i < n;i++) {int x = in.nextInt();int y = in.nextInt();//write your codeif (x >= minX && y >= minY) {minX = x;minY = y;} else {double mulX = 1;double mulY = 1;if (x > 0) {mulX = Math.ceil(((double)1.0 * minX) / x);}if (y > 0) {mulY = Math.ceil(((double)1.0 * minY) / y);}long mulMax = (long) Math.max(mulX, mulY);minX = Math.max(minX, x * mulMax);minY = Math.max(minY, y * mulMax);}}long result = minX + minY;System.out.print(result);}
}

问题??

上面的给出Case都能通过,但是有的Case没有过去,完全不知道问题在哪里?Case也不提供,有知道问题在哪里的,帮忙评论指出。谢谢

参考

https://ac.nowcoder.com/acm/contest/3286/B

算法:投票Voting相关推荐

  1. [算法] 当今世界最为经典的十大算法--投票进行时

    当今世界最为经典的十大算法--投票进行时 ---------------------------------------- 第一部分.来自圣经的十大算法 第十名:Huffman coding(霍夫曼编 ...

  2. Dapp 投票 Voting 实现流程

    目录 实现效果预览图 前提条件:安装包 目录结构 简单投票 Dapp 设计流程 solidity 合约 创建 Voting.sol 合约 编译合约 (1)导入 solc 和 fs (2)读取合约内容 ...

  3. 9.霍夫变换:圆——圆的算法、投票使用技巧、优点和缺点_2

    目录 圆的算法 投票实用技巧 优点和缺点 结束语 圆的算法 这是一个简单描述圆的算法. 和之前一样: 1.循环每一个边缘像素: 2.循环每个可能的半径:这是对的,因为我们不知道半径. 3.循环每一个可 ...

  4. 3D-BoNet:比3D点云实例分割算法快10倍!代码已开源

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自新智元(AI_era)   新智元报道   来源:投稿 编辑:元子 [新智元导读]本文提出了一种基于边界框回归的高效点云实例分割算法,通过最小 ...

  5. 人群密度算法_算法人群的力量。

    人群密度算法 介绍 (Introduction) One of the most fascinating historical examples of the power of crowds can ...

  6. 各个机器学习算法的优缺点及对比

    各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯.决策树.K 近邻.SVM.逻辑回归最大熵模型)? - 知乎k近邻.贝叶斯.决策树.svm.逻辑斯蒂回归和最大熵模型.隐马尔科夫.条件随机场.ada ...

  7. 各种机器学习算法简介

    原文链接:https://www.zhihu.com/question/26726794/answer/151282052 随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板. ...

  8. 程序员面试、算法研究、编程艺术、红黑树、机器学习5大系列集锦

    (七月在线:https://www.julyedu.com/,面试 & 算法 & 机器学习在线课程) 作者:July--结构之法算法之道blog之博主. 时间:2010年10月-201 ...

  9. 程序员面试、算法研究、编程艺术、红黑树4大系列集锦与总结

    程序员面试.算法研究.编程艺术.红黑树4大经典原创系列集锦与总结 作者:July--结构之法算法之道blog之博主. 时间:2010年10月-2011年6月. 出处:http://blog.csdn. ...

  10. 程序员面试 算法研究 编程艺术 红黑树 机器学习5大系列集锦

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 程序员面 ...

最新文章

  1. 接私活渠道,你有技术,就有钱!
  2. python比c语言好学吗-python和c语言哪个更适合初学者
  3. Javascript小括号“()”的多义性
  4. bash特性及bash脚本编程初步
  5. webpack初体验
  6. centos下cmake安装
  7. SEO网站标题怎么优化
  8. linux和windows和鸿蒙,linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?
  9. Android网络通信的六种方式
  10. anaconda pycharm_使用Pycharm在anaconda环境下安装pygame库
  11. Asp.Net分页生成页码超链接方法
  12. 工具 cocoapods和插件
  13. MATLAB学习笔记(二)——M文件
  14. Linux下Tomcat官网下载安装详细教程+域名绑定访问
  15. 各款浏览器对PDF插件的支持
  16. PTX-NPs 纳米粒子修饰紫杉醇/与桦木酸PEG/邻硝基苯丙酸紫杉醇偶联物的制备
  17. c语言求平均值 保留三位小数,Excel求平均值时,保留小数位数与参与求平均值的个数有关...
  18. MIT 18.01 Single Variable Calculus(单变量微积分)课堂笔记【6】——近似和求最值
  19. 燕大计算机研究生毕业待遇,研究生人均“月薪上万”是真是假,过来人坦言:想想就好,别认真...
  20. SQL数据库中BAK文件的备份和还原

热门文章

  1. 2018.12.20 区块链论文翻译
  2. linux下order by 报出ORDER BY clause is not in SELECT list
  3. Adobe Flash Player v26.0.0.126发布:请尽快更新
  4. Js跑马灯效果 在Vue中使用
  5. CentOS 7安装Mysql并设置开机自启动
  6. 成都Uber优步司机奖励政策(3月1日)
  7. springMvc + websocket 实现点对点 聊天通信功能
  8. 思科模拟器 静,动态路由配置
  9. 敏捷个人A1组第三次练习讨论 你是如何管理你的精力的?
  10. js base64图片太大_手把手教你常用JS方法封装(一) [ 大杂烩 ]