-
[백준] 1393 - 음하철도 구구팔 (파이썬)알고리즘/백준 2022. 4. 13. 15:55
xs, ys = map(int,input().split()) xe, ye, dx, dy = map(int,input().split()) if dx != 0 and dy != 0: for i in range(min(abs(dx),abs(dy)),0,-1): if abs(dx) % i == 0 and abs(dy) % i == 0: if dx >= 0: dx //= i else: dx = -abs(dx)//i if dy >= 0: dy //= i else: dy = -abs(dy)//i break elif dx == 0: if dy > 0: dy = 1 else: dy = -1 elif dy == 0: if dx > 0: dx = 1 else: dx = -1 answer = 9999999 cnt = 0 x,y = 0,0 while True: if (xs-xe)**2 + (ys-ye)**2 < answer: answer = (xs-xe)**2 + (ys-ye)**2 x = xe y = ye else: break xe += dx ye += dy print(x,y)
dx, dy를 가장 간단한 정수의 비로 바꾸어 준 다음에 완전탐색으로 해결
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1238 - 파티 (파이썬) (0) 2022.04.13 [백준] 1254 - 펠린드롬 만들기 (0) 2022.04.13 [백준] 1747 - 소수&펠린드롬 (파이썬) (0) 2022.04.13 [백준] 1261 - 알고스팟 (파이썬) (0) 2022.03.28 [백준] 20923 - 숫자 할리갈리 게임 (파이썬) (0) 2022.03.28