11727 - 2xn 타일링2

slee2·2021년 12월 28일
0

백준

목록 보기
12/20

문제

풀이

먼저 이전 문제를 한번 보고오면 이해가 쉬울 것이다.

https://velog.io/@seungju0000/11726-2xn-%ED%83%80%EC%9D%BC%EB%A7%81

전과 다른 점이 있다면
Num[i]의 도형은
Num[i - 2]의 도형 뒤에 2x1 2개를 붙이는 것과 그리고 2x2 1개를 붙이는 것
Num[i - 1]의 도형 뒤에 1x2 1개를 붙이는 것

으로 구할 수 있다.

즉, Num[i] = Num[i - 2] * 2 + Num[i - 1]로 표현할 수 있다.

import java.util.Scanner;

public class Num11727 {

    public static int N;
    public static int Num[];

    public static void main(String[] args) {
        //input
        Scanner scanner = new Scanner(System.in);
        N = Integer.parseInt(scanner.nextLine());
        Num = new int[N+2];

        //logic
        Num[1] = 1;
        Num[2] = 3;
        for (int i=3; i<=N; i++) {
            Num[i] = (Num[i-1] + Num[i-2] * 2) % 10007;
        }

        //output
        System.out.println(Num[N]);
    }
}

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN