# Coding/# 백준
[백준 / 1393] 음하철도 구구팔 - Python
강현들
2022. 3. 11. 11:11
728x90
반응형
https://www.acmicpc.net/problem/1393
1393번: 음하철도 구구팔
첫번째 줄에는 xs와 ys가 주어진다. 이는 정류장의 위치가 (xs, ys)임을 의미한다. 두번째 줄에는 xe, ye, dx, dy가 주어진다. 이는 현재 열차 위치가 (xe, ye)이고, 열차가 1초마다 x가 증가하는 방향으로
www.acmicpc.net
<전체 코드>
x_s, y_s = map(int, input().split())
x_e, y_e, dx, dy = map(int, input().split())
if dx != 0 and dy != 0:
for i in range(1, min(abs(dx)+1, abs(dy)+1)):
if abs(dx) % i == 0 and abs(dy) % i == 0:
gcf = i
dx, dy = dx//gcf, dy//gcf
if dx == 0:
if dy > 0:
dy = 1
elif dy < 0:
dy = -1
if dy == 0:
if dx > 0:
dx = 1
elif dx < 0:
dx = -1
pos_answer = float('inf')
while True:
dis = (x_s-x_e)**2 + (y_s-y_e)**2
if pos_answer > dis:
pos_answer = dis
else:
break
x_e += dx
y_e += dy
print(x_e-dx, y_e-dy)
728x90
반응형