백준 1074번 : Z JAVA

https://www.acmicpc.net/problem/1074

 

1074번: Z

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

www.acmicpc.net

 

 

한수는 크기가 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

 

백준 1074번 Z :: 마이구미

이 글은 백준 알고리즘 문제 1074번 "Z" 을 풀이한다. 풀이 방법으 말하자면, 분할 정복 알고리즘이다. 분할 정복이란, 문제를 작은 부분으로 쪼개어 해결하는 방식이다. 문제 링크 - https://www.acmic

mygumi.tistory.com

 

설명이나 풀이는 해당 마이구미님 티스토리를 참고해서 작성했습니다.