mojo's Blog

[백준 4779] 칸토어 집합 본문

백준/etc

[백준 4779] 칸토어 집합

_mojo_ 2021. 7. 18. 12:44

문제 링크 => 4779번: 칸토어 집합 (acmicpc.net)

 

4779번: 칸토어 집합

칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고,

www.acmicpc.net


분할정복 문제이다.

 

가운데 부분을 3^(N-1) 만큼 빈칸을 출력하게 하고 양 옆을 f(n-1) 을 재귀적으로 호출하도록 하면 정답이다.

 

풀이 code

#define _CRT_SECURE_NO_WARNINGS
#include <string>
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <queue>
#include <stack>
#include <time.h>
#define INF 100000000
#define endl '\n'
#define ll long long

using namespace std;

void f(int n) {
	if (n == 0) {
		cout << "-";
		return;
	}
	f(n - 1);
	for (int i = 0; i < pow(3,n-1); i++) cout << " ";
	f(n - 1);
	return;
}

int main()
{
	ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);

	int n;
	while ((scanf("%d", &n)) != EOF) {
		f(n);
		cout << endl;
	}

	return 0;
}

'백준 > etc' 카테고리의 다른 글

소인수분해 하는 방법  (0) 2021.07.22
[백준 4256] 트리  (0) 2021.07.18
[백준 10090] Counting Inversions  (0) 2021.07.16
[백준 11440] 피보나치 수의 제곱의 합  (0) 2021.07.08
[백준 2086] 피보나치 수의 합  (0) 2021.07.08
Comments