您的位置:首页 > 其它

玲珑杯 1131 - 喵哈哈村的几何大师╰☆莣メ誋こ月(三角函数)

2017-05-31 15:11 239 查看
传送门

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

Time Limit:1s Memory Limit:256MByte

Submissions:280Solved:60

DESCRIPTION

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



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

INPUT

输入第一行包含一个正整数t(1≤t≤100)t(1≤t≤100)
,表示有t组数据对于每组数据:第二行四个整数,A,B,C,D表示度数。满足A+B=C+D且A+B<90

OUTPUT

对于每组测试数据的询问,输出E角的度数,请保留两位小数。

SAMPLE INPUT

110 70 20 60

SAMPLE OUTPUT

20.00

解题思路:

就是根据正弦定理和余弦定理进行推导出公式,具体见下图:



代码如下:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <cmath>
using namespace std;
const double PI = acos(-1.0);
const double eps = 1e-12;
int main()
{
int T;
scanf("%d",&T);
double A, B, C, D;
while(T--){
cin>>A>>B>>C>>D;
A = A/180*PI; B = B/180*PI;
C = C/180*PI; D = D/180*PI;
double e = sin(A+B)/sin(A+B+C+D);
double a = sin(D)/sin(A+B+D);
double b = sin(C+D)/sin(B+C+D);
double d = sin(B)/sin(B+C+D);
double c = sqrt((e-a)*(e-a)+(e-d)*(e-d)-cos(PI-A-B-C-D)*2*(e-a)*(e-d));
double E = (b*b+c*c-a*a)/(2.0*b*c);
printf("%.2f\n",acos(E)/PI*180);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: