티스토리 뷰

Problem Solving/BOJ

[BOJ 1074] Z C++

유자애옹 2021. 7. 20. 21:25

 

 

1074번: Z

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

www.acmicpc.net

 

동꿀오소리님 블로그 참고

 

[백준] 1074번 Z - C++ - DGOS | 동꿀오소리

문제

donggoolosori.github.io

 

 

문제풀이

 

go의 x, y는 현재 탐색하고자 하는 사분면의 가장 왼쪽 위 좌표이고 size는 현재 사분면의 크기이다.

찾고자 하는 좌표 값 r, c가 현재 사분면 내에 존재한다면 현재 사분면을 다시 4등분해서 1, 2, 3, 4분면을 탐색한다.

 

만약 r, c가 현재 사분면 내에 존재하지 않는다면 현재 사분면을 탐색할 필요가 없다.

answer에 현재 사분면의 크기인 size * size를 더하고 return 한다.

 

이런 식으로 계속 사분면을 탐색해나가다가 x, y값이 r, c와 일치하면 답을 출력한다.

 

 

C++ 코드

 

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ 4256] 트리 C++/Kotlin  (0) 2021.07.20
[BOJ 2263] 트리의 순회 C++/Kotlin  (0) 2021.07.20
[BOJ 1655] 가운데를 말해요 C++  (0) 2021.07.20
[BOJ 2696] 중앙값 구하기 C++  (0) 2021.07.20
[BOJ 2900] 프로그램 C++  (0) 2021.07.19
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함