728x90
반응형
https://www.acmicpc.net/problem/4779
1. Logic
사이즈를 쪼개 들어가서 0일 떄 -를 출력하면 됨.
테스트 케이스를 보면 항상 n에서는 n-1의 모양이 두번 나온다. 그리고 사이 사이에는 3의 n제곱만큼 공백이 있다
분할 정복 공부할 때 처음 풀어보면 좋은 문제 같다.
2. Code
#include <iostream>
#include <vector>
#include <cstring>
#include <cmath>
using namespace std;
void cantor(int n) {
int size = pow(3, n-1);
if(n == 0) {
cout << "-";
return;
}
cantor(n-1);
for(int i = 0; i < size; i++) {
cout << " ";
}
cantor(n-1);
}
int main()
{
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int n;
while(cin >> n) {
cantor(n);
cout << "\n";
}
}
3. Feedback
분할정복 공부 스타또
알고리즘 Solve 후 제가 생각한 Logic을 기록하는 개인 공부 블로그입니다.
내용 중 최적화가 가능한 부분등은 언제든지 댓글로 틀린 부분 및 피드백 주시면 공부 및 반영하겠습니다🧐
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 1992 쿼드트리 C++ :: Divide and conquer (1) | 2023.11.04 |
---|---|
[백준/Baekjoon] 1780 종이의 개수 C++ :: Divide and conquer (0) | 2023.11.04 |
[백준/Baekjoon] 11725 트리의 부모 찾기 C++ :: Recursion & Graph (0) | 2023.11.04 |
[백준/Baekjoon] 2056 작업 C++ :: Dynamic Programming (1) | 2023.11.03 |
[백준/Baekjoon] 16987 계란으로 계란치기 C++ :: Brute force & Back tracking (0) | 2023.11.02 |