2014년 7월 18일 금요일

1074 Z

2^N * 2^N 의 배열을  z모양으로 탐색하려고 할 때, 몇번째의 이동에 r,c 좌표에 도착하는 지를 구하는 문제이다.

이 문제는 복잡하게 보이지만, 전체의 사각형을 4분할 하면서 사이를 좁히면 된다.
2차원 그래프로 말하자면 사분면이라고 생각하면 된다. 1사분면을 넘어가면 그 넘어간 갯수만큼을 더해주고, 2사분면을 넘어가면 또 그 만큼 더해주고 를 반복한다.
그런 작업이 끝나면  현재 위치에서 다시 4분할 하여 위 방법을 반복해주면된다.

소스

댓글 없음:

댓글 쓰기