
3 10.1 20 10 3.0 20 10 30.5 20.4 19.6
25.0000 9.0000 96.0400
题意:
给你一张边长为L的正方形桌子,一本A*B的笔记本,求笔记本放桌子上的最小面积。
题解:只需要吧笔记本的重心放在桌子上就行了
CODE:
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
double a,b,c;
int main() {
int t;
cin>>t;
while(t--) {
scanf("%lf%lf%lf",&a,&b,&c);
if(b<c)
swap(b,c);
double x=b/2;
double y=c/2;
double r=sqrt(2*a*a);
double ans;
if(r<y) {
ans=a*a;
} else {
if(y<r/2) {
ans=y*y;
} else {
double z=r-y;
ans=a*a-z*z;
}
}
printf("%.4f\n",ans);
}
return 0;
}
原文地址:http://blog.csdn.net/acm_baihuzi/article/details/45136353