티스토리 뷰

algorithm/백준

[python] 백준 10158 : 개미

bouble12 2021. 2. 16. 19:14

www.acmicpc.net/problem/10158

 

10158번: 개미

가로 길이가 w이고 세로 길이가 h인 2차원 격자 공간이 있다. 이 격자는 아래 그림처럼 왼쪽 아래가 (0,0)이고 오른쪽 위가 (w,h)이다. 이 공간 안의 좌표 (p,q)에 개미 한 마리가 놓여있다. 개미는 오

www.acmicpc.net

x 축과 y 축을 따로 생각해서 풀었다.

x축만을 예시로 들자면, 개미는 (p+t) / w 값이 홀수일떄는 왼쪽으로 짝수일때는 오른쪽으로 이동한다.

이때 홀수와 짝수를 나눠서 생각하지 않으면 예외에 걸릴 수 있기 때문에 if 문, for 문 또는 절댓값을 이용하여 풀어야한다.

 

w, h = map(int, input().split())
p, q = map(int, input().split())
t = int(input())

print(w - abs(w - (p + t) % (2 * w)), h - abs(h - (q + t) % (2 * h)))

코드의 식을 안쪽부터 순서대로 살펴보면

  • (p + t) % (2 * w) - 왕복을 재외한 x 축 이동 거리
  • abs(w - (p + t) % (2 * w)) -  (p+t) / w 값이 홀수든 짝수든 상관 없게 해준다 (직접 계산해보면 알 수 있다).
  •  w - (abs(w - (p + t) % (2 * w))) - 마지막 계산

kthng.tistory.com/29 <- 이 블로그에 설명이 잘되어있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함