티스토리 뷰

알고리즘

백준 - Z

koyuchang 2021. 6. 16. 12:26

문제 출처: https://www.acmicpc.net/problem/1074

 

1074번: Z

한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서

www.acmicpc.net

 

분할 정복을 이용한 재귀 문제이다.

초기 의사 코드는 행, 열 길이가 2일 때까지 재귀를 타고 들어가서, 0,0부터 4분 할로 접근하는 방식을 선택하였다.

이 방식은 결국 시간 초과로 실패...

 

지문을 제대로 보니 2^N X 2^N의 최대 크기를 가질 수 있으므로 당연히 가지치기(?)가 매우 중요하다.

또한 배열을 사용하지 않는데 처음에 배열을 만들어서 계속 메모리 초과가 발생했다..

 

시간을 단축시킬 방법을 생각해보다 애초에 모든 시작을 0,0이 아니라 4 사분면으로 나눴을 때 목표 좌표가 속해있는 사분면으로 가면 되지 않을까?라는 생각을 하게 되었다.

 

 

조건에 따라 어느 사분면으로 이동할지 정해주고, 각 좌표의 숫자 또한 정해주었다.

'알고리즘' 카테고리의 다른 글

SWEA - 프로세서 연결하기  (0) 2021.06.19
백준 - 게리맨더링  (0) 2021.06.16
백준 - ⚾  (0) 2021.06.10
백준 - 공주님을 구해라  (0) 2021.06.07
백준 - 8진수 2진수  (0) 2021.06.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함