[백준/C++] 1992번 쿼드트리
2021. 4. 29. 15:45ㆍ알고리즘/재귀
728x90
반응형
문제: www.acmicpc.net/problem/1992
1992번: 쿼드트리
첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또
www.acmicpc.net
문제풀이
재귀 문제
코드
#include <iostream>
using namespace std;
string board[64];
void func(int x, int y, int n){
bool flag = true;
for(int i=x; i<x+n; i++){
for(int j=y; j<y+n; j++){
if(board[x][y] != board[i][j]){
flag = false;
break;
}
}
}
if(flag){
cout<<board[x][y];
}
else{
cout<<"(";
func(x,y,n/2);
func(x,y+n/2,n/2);
func(x+n/2,y,n/2);
func(x+n/2,y+n/2,n/2);
cout<<")";
}
}
int main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
int n;
cin>>n;
for(int i=0; i<n; i++)
cin>>board[i];
func(0,0,n);
return 0;
}
결과

728x90
반응형
'알고리즘 > 재귀' 카테고리의 다른 글
[백준/C++] 2448번 별 찍기 - 11 (0) | 2021.04.28 |
---|---|
[백준/C++] 17478번 재귀함수가 뭔가요? (0) | 2021.04.27 |
[백준/C++] 2447번 별 찍기 - 10 (0) | 2021.04.27 |
[백준/C++] 1074번 Z (0) | 2021.04.09 |
[백준/C++] 11729 하노이 탑 이동 순서 (0) | 2021.04.07 |