티스토리 뷰

BOJ/Etc

BOJ/1992_쿼드트리

beecomci 2017. 2. 10. 10:52

[문제]

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


[처음 생각]

전체 영상 map을 검사해나가면서 하나라도 다른 값이 있으면 분할하는 방법

영상 map에서 이중 for문으로 분할하는 메소드를 재귀로 호출하는 방법


[풀이]

전체 영상 map을 검사하면서 하나라도 다른 값이 나오는 경우 flag를 false로 바꾸고 break로 빠져나온다.

flag가 true이면 0인지 1인지만 체크해서 반환하고

flag가 flase라면 영상 map을 4등분해서 각 범위마다 다시 메소드를 재귀호출하여 result를 구한다.

4등분하면서 메소드에 전달하는 매개변수는 각 영역의 왼쪽 위 좌표와 오른쪽 아래 좌표값을 전달한다.


[나중 생각]

처음부터 전부 분할해서 반환 값이 모두 일치하면 그 값으로 출력하고 다르면 나눠 출력하는 거꾸로 푸는 방법도 있지 않을까...?


[참고]

http://mrl.kr/boj1992


[Code]

https://github.com/dbwls94/gomulsang/blob/youjin/BOJ/src/boj_1992/QuadTree.java

'BOJ > Etc' 카테고리의 다른 글

BOJ/1032_명령 프롬프트  (0) 2017.02.15
BOJ/1654_랜선 자르기  (0) 2017.02.14
BOJ/10158_개미  (0) 2017.02.10
BOJ/10156_과자  (0) 2017.02.10
BOJ/11403_경로 찾기  (0) 2017.02.10
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
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
글 보관함