牛客寒假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\n",0.0); else printf("%.8lf\n",min(abs(len - r), abs(l - len))); } return 0; }
标签:小希,双截棍,double,len,牛客,l2,l1,炫酷,木条 来源: https://www.cnblogs.com/YDDDD/p/10353791.html