题解 | #搬圆桌# 数学

搬圆桌

https://www.nowcoder.com/practice/81bb01ef2bb144808a8277e9164a0886

简单画个草稿图可知,直接连接要移动到的圆心和原来的圆心线段,那么最快的方法即为每次绕着这条线段与圆桌的交点旋转180°,那么每次圆心可移动直径的距离,最终答案即为线段长度除以直径

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    long r, x, y, x1, y1;
    while (cin >> r >> x >> y >> x1 >> y1) {
        long dis = sqrt((x1 - x) * (x1 - x) + (y1 - y) * (y1 - y));
        cout << dis / (2 * r) << endl;
    }
    return 0;
}

时间复杂度:O(1)

空间复杂度:O(1)

全部评论

相关推荐

06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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