?9
?
题目大意:
给你两个矩形的长和宽,问第一个长方形能不能包含第二个长方形。
?
解题思路:
这道题乍看上去好想很简单,但其实细看的话,会有一种特殊情况很容易被忽略,如图:

这种情况很容易被忽略,对于这种情况,需要解一下图中的红色或黄色三角形,判断起来不是很麻烦,具体的看一下代码就可以了,很好理解。
?
代码:
?
#include#include int main() { double a, b, x, y, L1, L2; int T; scanf(%d, &T); while (T--) { scanf(%lf%lf%lf%lf, &a, &b, &x, &y); if(a < b) { double temp=a; a=b; b=temp; } if(x < y) { double temp=x; x=y; y=temp; } if(a > x && b > y){ printf(Escape is possible. ); continue; } else if( x*x+y*y > a*a+b*b){ printf(Box cannot be dropped. ); continue; } else{///斜着放入的情况 L1 = (a - sqrt((double)(x*x+y*y-b*b)))/2; L2 = (b - sqrt((double)(x*x+y*y-a*a)))/2; if (L1*L1+L2*L2>y*y) printf(Escape is possible. ); else printf(Box cannot be dropped. ); } } return 0; }
?