BOJ 1992 쿼드트리

2020. 9. 18. 14:03·알고리즘/BOJ

www.acmicpc.net/problem/1992

 

1992번: 쿼드트리

첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1≤N ≤64의 범위를 가진다. 두 번째 줄부터는 길이 N 의 문자열이 N 개 들어온다. 각 문자열은 0 또는

www.acmicpc.net

분할 정복으로 풀 수 있는 문제다.

처음엔 문제가 이해되지 않았는데 다음날 다시 읽어보니 이해가 됐다.

한 사각형에서 색이 전부 같지 않으면 ( 를 열고 쪼개 주고 전부 같은 색이면 )를 닫는다.

재귀적으로 들어갈 때에 좌상, 우상, 좌하, 우하 순서로 가는것에 주의해야 한다.

#include <iostream>
#include <string>
using namespace std;	
string ar[65];

void compress(int x, int y, int n) {
	auto tmp = ar[x][y];
	for (int i = x; i < x + n; i++) {
		for (int j = y; j < y + n; j++) {
			if (tmp != ar[i][j]) {
				cout << '(';
				compress(x, y, n / 2);
				compress(x, y + n / 2, n / 2);
				compress(x + n / 2, y, n / 2);
				compress(x + n / 2, y + n / 2, n / 2);
				cout << ')';
				return;
			}
		}
	}
	cout << tmp;
}

int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> ar[i];
	compress(0, 0, n);
	cout << endl;

	return 0;
}

크게 어려운 부분은 없었다.

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

백준 9471 피사노 주기  (0) 2020.09.18
BOJ 1780 종이의 개수  (0) 2020.09.18
BOJ 10830 행렬 제곱  (0) 2020.09.16
BOJ 2343 기타 레슨  (0) 2020.09.15
BOJ 2512 예산  (0) 2020.09.14
'알고리즘/BOJ' 카테고리의 다른 글
  • 백준 9471 피사노 주기
  • BOJ 1780 종이의 개수
  • BOJ 10830 행렬 제곱
  • BOJ 2343 기타 레슨
khyu2
khyu2
  • khyu2
    dev log
    khyu2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘
        • BOJ
        • Programmers
        • Algorithm
        • SWEA
      • 개발
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SWEA
    우선순위 큐
    피보나치 수
    피사노 주기
    BFS
    알고리즘
    소수
    완전탐색
    팰린드롬
    dfs
    BOJ
    이분 탐색
    완전 탐색
    유니온 파인드
    프로그래머스
    구현
    트리
    크루스칼
    이분탐색
    냅색
    시뮬레이션
    다익스트라
    GREEDY
    분할 정복
    코딩테스트 연습
    조합
    행렬 제곱
    큐
    dp
    MST
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
khyu2
BOJ 1992 쿼드트리
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.