티스토리 뷰


트리를 높이 그리면 규칙을 찾을 수 있다

테두리를 쭉~ 제일크게 1개로 감싸보자

그럼 안쪽에는 [나의 높이-2]*2 개가 필요하다는 것을 알 수 있다

물론 높이가 2 이상일 때 부터


그리고 그 다음에는 1 + 이전에 필요했던것 + [나의 높이-2]*2 개

이런 식으로 계속 간다!

미리 60까지 구해두자!


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
#define ll long long
ll d[66];
int main() {
    int n; scanf(" %d"&n);
    d[0= d[1= 1; d[2= 3;
    ll sum = d[0* 2;
    for (int i = 3; i <= 60; i++) {
        d[i] = 1+ sum + d[i - 2* 2;
        sum += d[i - 2* 2;
    }
    printf("%lld\n", d[n]);
}
cs

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

[백준] 12899 데이터 구조  (0) 2018.07.18
[백준] 12897 Candy  (0) 2018.07.18
[백준] 5670 휴대폰 자판  (0) 2018.07.18
[백준] 12887 경로 게임  (0) 2018.07.18
[백준] 12873 기념품  (1) 2018.07.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/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
글 보관함