40是怎么回事?
#include<bits/stdc++.h>
using namespace std;
double l, r, a, b, c, minn = 1e30 + 7, x[11], y[11];
int main()
{
cin >> l >> r;
for(int i = 1; i <= 3; i++)
{
cin >> x[i] >> y[i];
}
a = abs(sqrt((x[1] - x[2]) * (x[1] - x[2]) + (y[1] - y[2]) * (y[1] - y[2])));
b = abs(sqrt((x[1] - x[3]) * (x[1] - x[3]) + (y[1] - y[3]) * (y[1] - y[3])));
c = abs(sqrt((x[2] - x[3]) * (x[2] - x[3]) + (y[2] - y[3]) * (y[2] - y[3])));
double p = (a + b + c) / 2;
double ans = sqrt(p * (p - a) * (p - b) * (p - c));
if(l <= 0.5 && r >= 0.5)
{
printf("%lf", ans / 4);
return 0;
}
for(double i = l; i <= r; i += 0.0000001)
{
double a1 = x[3] - i * abs(x[3] - x[1]), b1 = y[3] - i * abs(y[3] - y[1]);
double a2 = x[1] - i * abs(x[2] - x[1]), b2 = y[1] - i * abs(y[2] - y[1]);
double a3 = x[2] - i * abs(x[3] - x[2]), b3 = y[2] - i * abs(y[3] - y[2]);
a1 = abs(a1), b1 = abs(b1);
a2 = abs(a2), b2 = abs(b2);
a3 = abs(a3), b3 = abs(b3);
//cout << a1 << " " << b1 << "\n" << a2 << " " << b2 << "\n" << a3 << " " << b3 << "\n";
double A = sqrt((a1 - a2) * (a1 - a2) + (b1 - b2) * (b1 - b2));
double B = sqrt((a1 - a3) * (a1 - a3) + (b1 - b3) * (b1 - b3));
double C = sqrt((a3 - a2) * (a3 - a2) + (b3 - b2) * (b3 - b2));
double X = (A + B + C) / 2;
double cnt = sqrt(X * (X - A) * (X - B) * (X - C));
//cout << cnt << "\n";
minn = min(minn, cnt);
}
printf("%lf", minn);
}