标签:blog http io ar os on 2014 art log
博客原文地址:http://blog.csdn.net/xuechelingxiao/article/details/40867049
题目大意:
给你两个矩形的长和宽,问第一个长方形能不能包含第二个长方形。
解题思路:
这道题乍看上去好想很简单,但其实细看的话,会有一种特殊情况很容易被忽略,如图:
这种情况很容易被忽略,对于这种情况,需要解一下图中的红色或黄色三角形,判断起来不是很麻烦,具体的看一下代码就可以了,很好理解。
代码:
#include <stdio.h> #include <math.h> 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.\n"); continue; } else if( x*x+y*y > a*a+b*b){ printf("Box cannot be dropped.\n"); 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.\n"); else printf("Box cannot be dropped.\n"); } } return 0; }
POJ 1380 Equipment Box(判断一个长方形能不能包含另一个长方形)
标签:blog http io ar os on 2014 art log
原文地址:http://blog.csdn.net/xuechelingxiao/article/details/40867049