백준 - 영재의 산책(19953번)

 문제

t 가 10억이므로 매 초마다 이동해주면 시간 초과가 날 수 밖에 없다.

(v * m) % 10 의 규칙을 활용해야 한다.

여러 수를 대입해 본 결과 v, m 이 어떤 조합이던 간에 결과 값은 4개의 패턴만을 가진다.

v = 1, m = 2 일 때 -> 2, 4, 8, 6

v = 123, m = 127 일 때 -> 1, 7, 9, 3

즉, 맨 처음 북쪽으로의 이동을 제외하면 다음 이동부터는 동, 서, 남, 북 네 방향으로의 이동 거리가 일정하다는 뜻이다.

처음 북쪽으로 이동한 뒤 그 지점을 시작점으로 잡고, 동, 서, 남, 북으로 각각 몇 번 갈 수 있는지 구한 뒤

이동 거리만큼 계산해주면 된다.


댓글

이 블로그의 인기 게시물

HTML - input file 버튼 꾸미기

HTML - 이미지 미리보기(jQuery 없이)

BOJ - DNA 유사도(2612)