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; }