数学题。
有点坑。
#include <cstdio>
#include <cmath>
#define sqr(x) ((x)*(x))
const double eps = 1e-10;
int dcmp(double x)
{
if(fabs(x) < eps) return 0;
return x < 0 ? -1 : 1;
}
int main()
{
double c, b, m, x, y;
scanf("%lf%lf%lf", &c, &b, &m);
x = (4*sqr(m)-sqr(c)-sqr(b))/c/2;
y = sqr(b)-sqr(x);
if(dcmp(y) < 0) { puts("Mission impossible"); return 0; }
if(dcmp(x) == 0) x = 0;
if(dcmp(y) == 0) y = 0;//1
y = sqrt(y);//2
printf("%.5f %.5f\n", 0.0, 0.0);
printf("%.5f %.5f\n", c, 0.0);
printf("%.5f %.5f\n", x, y);
return 0;
}
把1,2两句话换一下就会PE on test 6……