1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| using namespace std;
const int P = 1000000007; const int MAXN = 100005; const int INF = 0x3f3f3f3f;
double cal(int x, int y, int X, int Y, int XX, int YY) { double cap = abs(min(x, X) - XX) * abs(min(y, Y) - YY); double yuce = abs(X - XX) * abs(Y - YY); double GT = x * y; double cup = GT + yuce - cap; double ans = cap / cup; return ans; }
void solve() { int x, y, X, Y; cin >> x >> y >> X >> Y; double ans = 0; ans = max(ans, cal(x, y, X, Y, 0, 0)); ans = max(ans, cal(x, y, X, Y, x, 0)); ans = max(ans, cal(x, y, X, Y, 0, y)); ans = max(ans, cal(x, y, X, Y, x, y)); printf("%.9lf\n", ans); return; }
signed main() { int T = 1; cin >> T; while (T--) solve(); return 0; }
|