题意:

  给两个数, n, m 构造一个序列, 分母从1 ~ m, 并且j / i越来越接近n/m。

思路:

  如果存在 j / i 趋近于 n / m 那么则有 j = n * i / m + 0.5(四舍五入)。

  维护与 n/m的差值即可。

  第一次写的太复杂, 后来看了别人的博客, 才发现原来是自己想多了。  

代码:

  

  1. #include <cmath>
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <cstdlib>
  5. #include <ctime>
  6. #include <set>
  7. #include <map>
  8. #include <list>
  9. #include <stack>
  10. #include <queue>
  11. #include <string>
  12. #include <vector>
  13. #include <fstream>
  14. #include <iterator>
  15. #include <iostream>
  16. #include <algorithm>
  17. using namespace std;
  18. #define LL long long
  19. #define INF 0x3f3f3f3f
  20. #define MOD 1000000007
  21. #define eps 1e-6
  22. #define MAXN 1000000
  23. #define MAXM 100
  24. #define dd {cout<<"debug"<<endl;}
  25. #define pa {system("pause");}
  26. #define p(x) {printf("%d\n", x);}
  27. #define pd(x) {printf("%.7lf\n", x);}
  28. #define k(x) {printf("Case %d: ", ++x);}
  29. #define s(x) {scanf("%d", &x);}
  30. #define sd(x) {scanf("%lf", &x);}
  31. #define mes(x, d) {memset(x, d, sizeof(x));}
  32. #define do(i, x) for(i = 0; i < x; i ++)
  33. #define dod(i, x, l) for(i = x; i >= l; i --)
  34. #define doe(i, x) for(i = 1; i <= x; i ++)
  35. int Gainers, Losers;
  36. void solve()
  37. {
  38. double cnt = (Gainers * 1.0) / (Losers * 1.0);
  39. double ans = INF;
  40. for(int denominator = ; denominator <= Losers; denominator ++)
  41. {
  42. int molecular = denominator * cnt + 0.5;
  43. double temp = fabs((molecular * 1.0) / (denominator * 1.0) - cnt);
  44. if(temp < ans)
  45. {
  46. ans = temp;
  47. printf("%d/%d\n", molecular, denominator);
  48. }
  49. }
  50. }
  51.  
  52. int main()
  53. {
  54. int kcase = ;
  55. while(scanf("%d %d", &Gainers, &Losers) != EOF)
  56. {
  57. if(kcase ++) printf("\n");
  58. solve();
  59. }
  60. return ;
  61. }

  

Uva 654 Ratio的更多相关文章

  1. .Uva&LA部分题目代码

    1.LA 5694 Adding New Machine 关键词:数据结构,线段树,扫描线(FIFO) #include <algorithm> #include <cstdio&g ...

  2. UVa 10012 - How Big Is It? 堆球问题 全排列+坐标模拟 数据

    题意:给出几个圆的半径,贴着底下排放在一个长方形里面,求出如何摆放能使长方形底下长度最短. 由于球的个数不会超过8, 所以用全排列一个一个计算底下的长度,然后记录最短就行了. 全排列用next_per ...

  3. UVA 1412 Fund Management (预处理+状压dp)

    状压dp,每个状态可以表示为一个n元组,且上限为8,可以用一个九进制来表示状态.但是这样做用数组开不下,用map离散会T. 而实际上很多九进制数很多都是用不上的.因此类似uva 1601 Mornin ...

  4. Buffer cache hit ratio性能计数器真的可以作为内存瓶颈的判断指标吗?

    Buffer cache hit ratio官方是这么解释的:“指示在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比.” Buffer cache hit ratio被很多人当做判断内存的性能指 ...

  5. uva 1354 Mobile Computing ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5

  6. UVA 10564 Paths through the Hourglass[DP 打印]

    UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...

  7. UVA 11404 Palindromic Subsequence[DP LCS 打印]

    UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...

  8. UVA&&POJ离散概率与数学期望入门练习[4]

    POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...

  9. UVA计数方法练习[3]

    UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...

随机推荐

  1. Chrome&FF&Opera&下DIV不设置高度显示背景颜色和边框的办法

    今天在排版的时候,外层的div不写高度的话背景颜色和边框没法办法显示,但是在IE下面就可以,这个有三个解决办法. 第一: 直接给最外层的div设置高度(不推荐). 第二: 在内部每个div后添加一个清 ...

  2. List集合即其遍历

    1. 首先List<E>集合继承与Collection<E>,是一个接口. ①  Collection (集合框架是JDK1.2版本出现的) ②   list:是有序的,元素可 ...

  3. SQL*PLUS中批量执行SQL语句

    SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书) ...

  4. scala学习笔记:各种奇怪的写法

    Unit函数的定义: def foo()={println("hi")} 等号可以省略: def foo(){println("hi")} update方法: ...

  5. MongoDB 的分组操作 In C#

    C#对mongodb的分组查询操作,主要通过脚本或Aggregate方法来实现,以下通过一些实例作解析: 参考资料:http://www.tuicool.com/articles/2iqUZj   h ...

  6. 关于hover没有效果的问题

    今天用vs2012写一个页面的是时候,用到hover的效果,原本是没有难度的事情,后来因为一个细节,导致浪费了点时间. 原来是我在css文件里面写完样式后,用了ctrl+k+D进行了格式化,然后vs在 ...

  7. getScript 按需加载javascript

    $('input:button:first').click(function(aaa) { $.getScript('new.js', function() { alert('Script loade ...

  8. 解决Redis Cluster模式下的排序问题

    通常的redis排序我们可以这么做: 比如按商品价格排序:sort goods_id_set by p_*_price 这样在非集群模式下是没问题的,但如果在集群模式下,就会报错: 说是在集群模式下不 ...

  9. android adb:电池与电量

    手机每个硬件的耗电量是不一样的!比如屏幕就是耗电大户!其它一些元件则耗电量非常小! 使用android dumpsys工具可以获取电池以及电量消耗信息! dumpsys工具:battery.batte ...

  10. js个人笔记

    一.删除元素 <!DOCTYPE html> <html> <head> <title>删除元素</title> </head> ...