Time Limit:1s Memory Limit:256MByte
Submissions:315Solved:70
DESCRIPTION
╰☆莣メ誋こ月是月大叔的ID,他是一个掌握着429种几何画法的的几何大师,最擅长的技能就是搞事,今天他又要开始搞事了。
给你一个等腰三角形,其中A,B,C,D角已知,求E角的角度。
INPUT
输入第一行包含一个正整数
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
SOLUTION
设底边长度为1,然后根据正选定理+余玄定理求出 所有边长。
然后就能求出E 的余玄值,就出来了。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const double PI=acos(-1.0);
int main(){
int T;
double A,B,C,D,E,F,G;
double a,b,c,d,e,f,g,x,y,z;
cin>>T;
while(T--){
c=1;
cin>>A>>B>>C>>D;
A=A*PI/180.0;
B=B*PI/180.0;
C=C*PI/180.0;
D=D*PI/180.0;
x=sin(B)/sin(PI-B-C-D);
y=sin(D)/sin(PI-A-B-D);
a=sin(A+B)/sin(PI-A-B-C-D);
b=sin(C+D)/sin(PI-A-B-C-D);
d=x*sin(C+D)/sin(B);
x=sqrt((a-x)*(a-x)+(b-y)*(b-y)-2*(a-x)*(b-y)*cos(PI-A-B-C-D));
E=(x*x+d*d-y*y)/(2*x*d);
E=acos(E);
E=E*180/PI;
printf("%.2f\n",E);
}
return 0;
}