栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1079 Ratio

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1079 Ratio

#include <iostream>#include <stdlib.h>#include <string.h>#include <stdio.h>using namespace std;struct Elem{    int a, b;    bool operator <=(const Elem &x)    {        return this->a * (long long) x.b <= x.a * (long long) this->b;    }    bool operator <(const Elem &x)    {        return this->a * (long long) x.b < x.a * (long long) this->b;    }    Elem operator -(const Elem &x)    {        Elem ret;        ret.a = this->a * x.b - x.a * this->b;        ret.b = this->b * x.b;        return ret;    }} s;int n, m;Elem binarysearch(int a){    Elem ret;    ret.b = a;    int l = 1;    int r = 5000;    while (l < r)    {        int mid = (l + r) / 2;        if (mid * m > n * a) r = mid;        else l = mid + 1;    }    ret.a = l;    return ret;}int main(){    bool first = true;    while (scanf("%d%d", &n, &m) != EOF)    {        if (first) first = false;        else putchar('n');        s.a = 5000;        s.b = 1;        Elem y;        y.a = n;        y.b = m;        for (int i = 1; i <= m; i++)        { Elem x = binarysearch(i); Elem z = x; z.a--; if ((x - y) <= (y - z))     z = x; Elem temp = z - y; if (temp.a < 0)     temp.a = -temp.a; if (temp < s) {     s = temp;     printf("%d/%dn", z.a, z.b); }        }    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370875.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号