문제

문제 링크

어떻게 접근할 것인가

피보나치 수열을 변형시키는 문제이다. 0과 1의 개수를 담는 어레이를 만들고 0과 1에 해당하는 값을 저장하고 디피로 다음 값을 업데이트 해간다.

코드

#include <cstdio>
int zero[41], one[41], n, k;

int main(){
    zero[0] = 1;
    one[1] = 1;
    for(int i = 2; i <= 40; i++){
        zero[i] = zero[i - 1] + zero[i - 2];
        one[i] = one[i - 1] + one[i - 2];
    }
    scanf("%d", &n);
    while(n--){
        scanf("%d", &k);
        printf("%d %d\n", zero[k], one[k]);
    }
}

느낀점

가즈아ㅏㅏ~!!