가오리의 코딩일기

[11662] 민호와 강호 본문

Python/백준

[11662] 민호와 강호

류경혜 2022. 8. 6. 02:00

def three_search(start, end):
    while abs(end - start) > 1e-9:
        mid1 = (2 * start + end) / 3
        mid2 = (start + 2 * end) / 3
        if distance(mid1) > distance(mid2):
            start = mid1
        else:
            end = mid2
    return distance(start)

def distance(i):
    minX = ax * i + bx * (1 - i)
    minY = ay * i + by * (1 - i)
    kangX = cx * i + dx * (1 - i)
    kangY = cy * i + dy * (1 - i)
    return ((kangX - minX) ** 2 + (kangY - minY) ** 2) ** 0.5

ax, ay, bx, by, cx, cy, dx, dy = map(int, input().split())
print(round(three_search(0,1),16))

 

 

참고 블로그 : https://velog.io/@blankspxcx/%EC%82%BC%EB%B6%84-%ED%83%90%EC%83%89-Tenary-Search

 

'Python > 백준' 카테고리의 다른 글

[1476] 날짜 계산  (0) 2022.08.08
[1744] 수 묶기  (0) 2022.08.06
[2875] 대회 or 인턴  (0) 2022.08.05
[11399] ATM  (0) 2022.08.05
[1931] 회의실 배정  (0) 2022.08.05