题目:pku1380 题意:已知两个矩形的长宽,看后一个矩形能否放入前一个矩形中。需要考虑特殊情况。 代码: //(1 <= A,B,X,Y <= 50000). // A and Bindicate the dimensions of the tiles, X and Y are the dimensions of the equipment box #include <iostream> #include <cmath> #include <algorithm> using namespace std; int main(int argc, char *argv[]) { int t,a,b,x,y; double A,B,angle,len; cin>>t; while(t--) { cin>>a>>b>>x>>y; if(a<b)swap(a,b); if(x<y)swap(x,y); if(y>b) { printf("Box cannot be dropped./n");continue; } if(a>=x&&b>=y) { printf("Escape is possible./n");continue; } // 注意前面的 1.0*b否则将是WA // 注意后面的 1.0 否则将出现 CE A=asin(1.0*b/sqrt(1.0*x*x+1.0*y*y)); B=asin(1.0*y/sqrt(1.0*x*x+1.0*y*y)); angle=A-B; len=x*cos(angle)+y*sin(angle); if(len<=a) printf("Escape is possible./n"); else printf("Box cannot be dropped./n"); } //system("pause"); return 0; }