Algorithm, boj, 01타일(1904)
풀이
- 점화식이 쉽게 도출된다.
- 주의할점 : 개수를 15746으로 나눈 나머지를 출력한다.
dp[i] = dp[i-1]%15746 + dp[i-2]%15746;
dp[i] %= 15746;
- 15746으로 나눈 나머지로 dp값을 구해야 한다.
package org.baekjoon;
import java.util.Scanner;
public class test1904_dp_01tile {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int[] dp = new int[1000000];
dp[0] = 0;
dp[1] = 1;
dp[2] = 2;
for (int i=3; i<=num; i++) {
dp[i] = dp[i-1]%15746 + dp[i-2]%15746;
dp[i] %= 15746;
}
System.out.println(dp[num]);
}
}
Reference