3.27网易互联网算法第二题(AC)

mark 一下🤣
#闭环内追击问题,同速不相遇,异速度一定相遇
#知道三点位置坐标,知道初始位置和速度
import math
xa,ya,xb,yb,xc,yc = [0,23,0,3,100,0]
v1,d1 = [2,1]
v2,d2 = [1,1]
#print(d1 ^ d2)
# 写函数求欧式距离
def dis(x1,x2,y1,y2):
    return math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))
#print(dis(xa,xc,ya,yc))
abdis = dis(xa,xb,ya,yb)
acdis = dis(xa,xc,ya,yc)
bcdis = dis(xb,xc,yb,yc) 
if v1 == v2 == 0:
    print(-1)
else:
    #有速度
    if d1 ^ d2:
    #如果两个相向,一定相遇,异或为1
        if d1 == 0:
            t = abdis / (v1 + v2)
            print(t) #样例通过
        else:
            t = (acdis + bcdis) / (v1 + v2)
            print(t)
    else:
        #两人同向,AB点开始的追赶问题
        if v1 == v2:
            print(-1)
        elif v1 > v2:
            #小明追小红
            if d1 == 0:
                #A-B-C
                t = abdis / (v1 - v2)
                print(t)
            else:
                #A-c-B
                t = (acdis + bcdis) / (v1 - v2)
                print(t)
        else:
            #小红追小明
            if d1 == 0:
                #A-B-C
                t = (acdis + bcdis) / (v2 - v1)
                print(t)
            else:
                #A-c-B
                t = abdis / (v2 - v1)
                print(t)


#网易##实习##算法工程师#
全部评论
俺就看看,俺也不太懂
点赞 回复 分享
发布于 2022-03-28 15:53

相关推荐

宇算唯航:目测实缴资本不超100W的小公司
点赞 评论 收藏
分享
在喝茶的牛油很喜欢吃...:今天oc了
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

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