티스토리 뷰

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
* Created by kgh on 2018. 8. 18.
* Blog : http://kgh940525.tistory.com
* Github : http://github.com/kgh940525
문제
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.

아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.



입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)

출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.

예제 입력 1
2
예제 출력 1
2
예제 입력 2
9
예제 출력 2
55
*/

public class Baekjoon_11726_ButtomUp {
public static int[] square = new int[1001];

public static int search(int num){
// comment: 작은문제를 2x1, 2x0으로 두개를 가진다.
square[0] = 1;
square[1] = 1;
// comment: 큰문제 2부터 ~ num(포함)까지
for(int i=2; i<=num; i++){
// comment:기준이 i에서 square[i-1] 세로 타일 1개추가하였을 경우와 + square[i-2] 가로타일2개추가하였을경우
square[i] = square[i-1] + square[i-2];
square[i] %= 10007;
}
return square[num];
}
public static void main(String args[]) throws IOException {
// comment: input
int num;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
num = Integer.parseInt(br.readLine());
System.out.print(search(num));

}
}


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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 29 30
글 보관함