문제

문제 링크

어떻게 접근할 것인가

  • 이 문제은 디피로 접근할 수 있는 문제이다.
  • 사각형이 두개 이므로 쉽게 생각하면 1, 2, 3 더하기 문제와 유사한 문제이다.

문제 링크

  • 각 숫자 길이까지의 경우의 수를 구해놓고 계속 업데이트 해나간다.

코드

#include <cstdio>

long long n, arr[1001];

int main(){
    scanf("%lld", &n);
    arr[1] = 1, arr[2] = 2;
    for(int i = 3; i <= n; i++)arr[i] = (arr[i - 1] + arr[i - 2]) % 10007;
    printf("%lld", arr[n] % 10007);
}

느낀점

  • 디피 점점 감을 잡아간다.
  • 이제 이전에 풀었던 유형도 나오고 날로 발전하는 기분이다.