PS
백준 20057. 마법사 상어와 토네이도
tose33
2022. 5. 30. 13:25
https://www.acmicpc.net/problem/20057
20057번: 마법사 상어와 토네이도
마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을
www.acmicpc.net
우선 토네이노의 방향이 두번 바뀔때마다, 한 방향으로 이동하는 칸 수가 1 증가한다는 점을 기반으로 토네이도의 좌표와, 방향을 따로따로 구해줬다.
토네이도가 이동할때마다 정해진 칸에 정해진 비율만큼 모래가 이동하는데, 방향이 총 4가지 방향이기 때문에 조금 골치 아프다.
나는 방향 마다 이동하는 방향을 다르게 해서 상대적으로 좌표를 구할수 있도록 했다.
예를들어 토네이도의 방향이 왼쪽일때는, 좌표를 이동하도록 하는 배열 dr, dc을 다음과 같이 해주고
dr[] = {-1, 0, 1, 0} // 위 오른쪽 아래 왼쪽
dc[] = {0, 1, 0, -1}
토네이도의 방향이 아래일때는,
dr[] = {0, -1, 0, 1} // 왼쪽, 위, 오른쪽, 아래
dc[] = {-1, 0, 1, 0}
이렇게 해줌으로서 방향이 다를때는 다른 좌표를 구하도록 해줬다.