#include<stdio.h>
#include<string.h>
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;

int main()
{
    int n;
    double a, b, px, py;
    cin >> n;
    while(n--)
    {
        cin >> a >> b >> px >> py;
        if (py < 0)
            py = -py;
        else if (py == 0)
        {
            cout << setprecision(2) << 0.00 << endl;
            continue;
        }
        double jx, jy, k;
        k = py * 1.0 / px;
        jx = (a * a * b * b) / (b * b + a * a * k * k);
        jx = sqrt(jx);
        jy = k * jx;
        double angle = atan(py * 1.0 / px);
        double s1 = (0.5 * a * b * angle) - (0.25 * a * b * sin(2 * angle));
        double s2 = 0.5 * jx * jy;
        double s = s1 + s2;
        cout << setprecision(2) << s << endl;
    }
    return 0;
}

最新文章

  1. iOS-网络处理
  2. ES6入门系列四(测试题分析)
  3. August 15th 2016 Week 34th Monday
  4. Android IOS WebRTC 音视频开发总结(七五)-- WebRTC视频通信中的错误恢复机制
  5. Struts2中请求参数的接收方式和ModelDriven机制及其运用
  6. JQuery中html、append、appendTo、after、insertAfter、before、insertBefore、empty、remove的使用
  7. (转)基于Redis Sentinel的Redis集群(主从&amp;Sharding)高可用方案
  8. Time.deltaTime 含义和应用
  9. Mongodb2.6升级到Mongodb3.0.2笔记
  10. bulk insert data into database with table type .net
  11. ActiveMQ与RabbitMQ采用camel综合
  12. form提交地址地址正确但是依旧报错404找不到路径
  13. mysql将查询出来的一列数据拼装成一个字符串
  14. 对C语言中递归算法的分析
  15. 【51nod 1100】斜率最大
  16. 初识dubbo
  17. hdu number number number 斐波那契数列 思维
  18. Oracle:Authid Current_User的使用
  19. Oracle GI 日志收集工具 - TFA
  20. vue router动态路由

热门文章

  1. 20145227鄢曼君《网络对抗》MSF基础应用
  2. 20145212罗天晨 逆向及Bof基础实践
  3. JQuery插件模板
  4. Linux内核分析--系统调用【转】
  5. Linq join right join left join
  6. LOJ#2632. 「BalticOI 2011 Day1」打开灯泡 Switch the Lamp On
  7. C# 获取SQL Server所有的数据库名称
  8. LA 3213 古老的密码
  9. UVa 10801 电梯换乘
  10. MVC ---- T4(1)