https://www.acmicpc.net/problem/1074
한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다.
N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다.
다음 예는 22 × 22 크기의 배열을 방문한 순서이다.
N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오.
다음은 N=3일 때의 예이다.
Z 형태로 2X2 분할된 평면에서 탐색하며 이동한다.
분할정복으로 푸는 문제 (무식하게 완전탐색-DFS 로 돌릴 경우 시간초과 나서 찾아봤음)
https://mygumi.tistory.com/284
설명이나 풀이는 해당 마이구미님 티스토리를 참고해서 작성했습니다.
'알고리즘' 카테고리의 다른 글
Array 내림차순 정렬 (0) | 2021.09.29 |
---|---|
소수 구하기 - Java (0) | 2021.09.29 |
프로그래머스 복서 정렬하기 JAVA (0) | 2021.09.17 |
2022 KAKAO 카카오 블라인드 코딩테스트 1차 후기 (0) | 2021.09.13 |
kakao 블라인드 코딩테스트 1차 - 합승택시 JAVA (0) | 2021.09.07 |