zoukankan      html  css  js  c++  java
  • 牛客寒假5-A.炫酷双截棍

    链接:https://ac.nowcoder.com/acm/contest/331/A

    题意:

    小希现在手里有一个连着的两块木条,长度分别为l1l1,l2l2,木条之间有一个无摩擦的连接点,木条之间可以相互转动,小希将其称之为双截棍。

    现在小希把长为l1l1的木条的一端放在原点(0,0),任意转动这两根木条,小希想知道,是否有可能通过一种转动方式使得双截棍的另一端到达指定点呢?

    如果不能,请输出所有能到达的点中离目标点最近的距离

    思路:

    到达的距离就是l1 - l2    ---    l1 + l2  ,考虑l1,l2的长短,

    之后直接算点到原点的距离,记得用double

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    
    double Get_Len(double x, double y)
    {
        return sqrt(x * x + y * y);
    }
    
    int main()
    {
        int l1,l2;
        cin >> l1 >> l2;
        if (l1 < l2)
            swap(l1,l2);
        double l = l1 - l2, r = l1 + l2;
        int t;
        cin >> t;
        while (t--)
        {
            double x,y;
            cin >> x >> y;
            double len = Get_Len(x,y);
            if (len <= r && len >= l)
                printf("%.8lf
    ",0.0);
            else
                printf("%.8lf
    ",min(abs(len - r), abs(l - len)));
        }
    
        return 0;
    }
    

      

  • 相关阅读:
    编写pl/sql时,报错
    ORA-00906 missing left parenthesis括号
    数仓理论
    查看oracle实例名
    Oracle 关键字
    oracle关键字作为字段名使用方法
    dump函数
    raw数据类型
    oracle同义词是什么意思?
    10 Useeful Tips for Writing Effective Bash Scripts in Linux
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10353791.html
Copyright © 2011-2022 走看看