zoukankan      html  css  js  c++  java
  • Wannafly交流赛1 A 有理数[模拟/分类讨论]

    链接:https://www.nowcoder.com/acm/contest/69/A
    来源:牛客网

    题目描述

    有一个问题如下:

    给你一个有理数v,请找到小于v的最大有理数。

    但这个问题的答案对于任意v都是无解的!

    因为有理数具有稠密性。这意思是,对于任两个满足u<v的有理数u和v,一定存在一个有理数t满足u<t<v。

    所以若你说x是答案,那我们总是能找到另外一个满足x<y<v的有理数y来反驳你。

    现在我们不是要问这种只要输出'No Solution'的问题,我们要问一个稍微难一点的问题如下:

    给你一个有理数p/q,请找到小于p/q的最大整数。

    输入描述:

    输入的第一行有一个正整数T,代表询问数。
    接下来有T行,每个询问各占1行,包含两个整数p,q,代表这个询问要你找出小于p/q的最大整数。

    输出描述:

    每个询问请输出一行包含一个整数,代表该询问的答案。
    示例1

    输入

    2
    4 -2
    14 5

    输出

    -3
    2

    备注:

    1<=T<=40200
    -100<=p,q<=100
    q!=0

    [分析]:分类讨论
    [代码]:
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
     
    int main()
    {
        int t,p,q;
        cin>>t;
        while(t--){
            cin>>p>>q;
            double ans=(double)p/q*1.0;
            //cout<<ans<<endl;
            if(ans<0){
                printf("%d
    ",(p/q)-1);
            }else{
                if(p%q==0)
                printf("%d
    ",p/q-1);
                else printf("%d
    ",p/q);
            }
        }
    }
    View Code
  • 相关阅读:
    [Codeforces809D] Hitchhiking in the Baltic States
    [Codeforces1148H] Holy Diver
    [PKUWC2018]猎人杀
    [Codeforces566C] Logistical Questions
    越野赛车问题
    Suffix Array
    第05组(65) 需求分析报告
    第05组(65) 团队展示
    第三次作业
    结对编程作业
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8496713.html
Copyright © 2011-2022 走看看