标签:style blog class code java color
题目来源:
http://acm.fzu.edu.cn/problem.php?pid=1016
分析:
图画如下:
我们可以 列出方程。
1 ) x * cos(a) + y * sin(a) = A
2 ) x * sin(a ) + y * cos(a) = B
对方程 化简为
2 = (a + b)^2 / (x + y)^2 + (a - b)^2 / (x -y) ^2 ; 3) 式
分三种 情况
1 : x < A && y <B 1) 2) 同时满足 < (符合题意)
2 : x > A 1) 明显 > (不符合题意)
3 : X < A && Y >= B (分情况讨论) 如果3) 式 符号 大于 则 符合题意, 否则 不符合题意
代码如下:
int main(){ double a, b , x , y ; while(scanf("%lf%lf%lf%lf" , &a , &b , &x, &y)){ if(a ==0.0 && b ==0.0 && x == 0.0 && y == 0.0) break; if(a - b > EPS) swap(a ,b); if(x - y > EPS) swap(x , y) ; if(a -x > EPS && b > y + EPS) puts("Escape is possible."); else if( x - a > EPS) puts("Box cannot be dropped."); else { // x < a && y >= b if( (a + b)*(a + b) / ( (x + y)* (x + y) ) + (a - b) * (a - b) / ( (x - y) * (x - y) ) > 2.0 + EPS) puts("Escape is possible.") ; else puts("Box cannot be dropped."); } } return 0; }
标签:style blog class code java color
原文地址:http://www.cnblogs.com/zn505119020/p/3706245.html