“玲珑杯”线上赛 Round #15 河南专场 J -- 喵哈哈村的几何大师╰☆莣メ誋こ月

题目连接:点击打开链接




J -- 喵哈哈村的几何大师╰☆莣メ誋こ月

Time Limit:1s Memory Limit:256MByte

Submissions:317Solved:71

DESCRIPTION

╰☆莣メ誋こ月是月大叔的ID,他是一个掌握着429种几何画法的的几何大师,最擅长的技能就是搞事,今天他又要开始搞事了。

给你一个等腰三角形,其中A,B,C,D角已知,求E角的角度。

INPUT
输入第一行包含一个正整数 t(1t100)t(1≤t≤100) ,表示有t组数据对于每组数据:第二行四个整数,A,B,C,D表示度数。满足A+B=C+D且A+B<90
OUTPUT
对于每组测试数据的询问,输出E角的度数,请保留两位小数。
SAMPLE INPUT
1
10 70 20 60
SAMPLE OUTPUT
20.00

题目分析:可以使用三角函数正余弦定理进行推导,考虑到精度问题,这里只针对包含a和e2角的三角形进行求解,首先通过正弦定理得到边长,再通过余弦定理求角。不过做完才发现,这个等腰的条件用上了吗??我猜可能有其他几何的方法。


//
//  main.cpp
//  喵哈哈村的战斗魔法师丶坏坏い月
//
//  Created by teddywang on 2017/6/27.
//  Copyright © 2017年 teddywang. All rights reserved.
//

#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
double pi=3.14159265;
using namespace std;
double a,b,c,d,e,f;
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        cin>>a>>b>>c>>d;
        double DE,A,BD,BE;
        A=180-a-b-c-d;
        A=A*M_PI/180;
        a=a*M_PI/180;
        b=b*M_PI/180;
        c=c*M_PI/180;
        d=d*M_PI/180;
        BD=sin(d)/sin(A+c);
        BE=sin(c+d)/sin(A+a);
        DE=BD*BD+BE*BE-2*BD*BE*cos(a);
        double de=sqrt(DE);
        e=(DE+BE*BE-BD*BD)/(2*BE*de);
        e=acos(e);
        e=e*180/M_PI;
        printf("%.2lf\n",e);
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值