大疆算法岗笔试8.16

就一道算法题,求圆(半径+中心坐标)和矩形(左下右上坐标)有没有交集,代码:
int main()
{
    double radius, x_center, y_center, x1, y1, x2, y2;
	scanf("%lf %lf %lf %lf %lf %lf %lf", &radius, &x_center, &y_center, &x1, &y2, &x2, &y2);
	vector<double> vec1 = { abs(x_center - (x1 + x2) / 2), abs(y_center - (y1 + y2) / 2) };
	vector<double> vec2 = { x2 - (x1 + x2) / 2, y2 - (y1 + y2) / 2 };
	vector<double> vec3 = { max(0., vec1[0] - vec2[0]), max(0., vec1[1] - vec2[1]) };
	string res = vec3[0] * vec3[0] + vec3[1] * vec3[1] <= radius * radius ? "True" : "False";
	cout << res << endl;
}
只能过91%,改精度也没用,不知道为啥。

#大疆校招##笔试题目##大疆#
全部评论
AC
点赞 回复 分享
发布于 2020-08-16 21:16
同91
点赞 回复 分享
发布于 2020-08-16 21:13

相关推荐

07-07 12:25
门头沟学院 Java
程序员牛肉:你这个智邮公司做的就是那个乐山市税务系统的服务吗?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
Steven267:这不喷回去?花钱是大爷,记住这个道理
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务