2020牛客寒假算法基础集训营6.J——签到题【计算】

网友投稿 249 2022-09-23

2020牛客寒假算法基础集训营6.J——签到题【计算】

​​题目传送门​​

题目描述

输入描述:

三个正整数,表示三角形的边长

输出描述:

如果三条边不能构成三角形,输出“wtnl” 如果三条边能构成三角形但不能画出符合要求的圆,输出“No” 否则输出一行“Yes” 然后在第二行输出一组方案,按升序给出三个圆的半径,保留两位小数

输入

2 3 3

输出

Yes 1.00 1.00 2.00

题解

画个图算一下就行注意不能构成三角形的情况,不要忘记处理

AC-Code

#include using namespace std;bool isOK(double a, double b, double c){ if(a+b <= c) return false; if(a+c <= b) return false; if(b+c <= a) return false; return true;}int main(){ double a[3], b[3]; while(cin >> a[0] >> a[1] >> a[2]){ sort(a, a+3); double x = (a[0] + a[1] - a[2]) / 2; if(x > 0 && isOK(a[0], a[1], a[2])){ cout << "Yes" << endl; b[0] = x; b[1] = a[0]-x; b[2] = a[2]-a[0]+x; sort(b, b+3); printf("%.2f %.2f %.2f\n", b[0], b[1], b[2]); } else if(!isOK(a[0], a[1], a[2])){ cout << "wtnl" << endl; } else{ cout << "No" << endl; } } return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:2020牛客寒假算法基础集训营4.D——子段异或【前缀】
下一篇:营销头条:罗永浩开了一家广告公司!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~