2018今日头条湖北省赛【A】
【题目链接】https://www.nowcoder.com/acm/contest/104/A
这题就是很简单的几何题。。md现场推了很久的cos sin仿佛像个zz。自己都想给自己一巴掌。
题意就是正三角形内给一点D,给你ABC与D组成的这三个角度,让你求AD,CD,BD三边重组三角形的三个角度。
emmm...先旋转个60度吧
聪明的你一定能看出来,CD = CD' AD = BD',
因为 CD = CD‘ 且 ∠DCD’ = 60° 易得CDD'是个等边三角形。
所以CD = DD'。
题目让我们求AD BD CD重组三角形,也就是BDD'这个三角形啊对不对QWQ。
上述已证△CDD'是一个等边三角形了,那就是我红色标注的两个角度是60°。
∠BDD' = ∠BDC - 60° ∠BD'D = ∠BD'C - 60° = ∠ADC - 60° 那么∠DBD'呢。
首先已知∠ADC + ∠ADB + ∠BDC = 360°。又由四边形内角和是360°可以得到∠DBD' + ∠DCD' + ∠BDC + ∠BD'C = 360°
接着就能推出∠ADB = ∠ DCD' + ∠DBD'
所以∠DBD' = ∠ADB - 60°
由上可知啊!!结论就是三个角度分别-60°啊。
是不是很坑爹啊QAQ。输出排个序就好了。
代码如下。
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 using namespace std; 5 6 double angle[3]; 7 int main(){ 8 int a,b,c; 9 while(scanf("%d%d%d",&a,&b,&c) != EOF){ 10 angle[0] = a - 60; 11 angle[1] = b - 60; 12 angle[2] = c - 60; 13 sort(angle,angle+3); 14 printf("%.4lf %.4lf %.4lf\n",angle[0],angle[1],angle[2]); 15 16 } 17 return 0; 18 }