11726λ² λ¬Έμ μ κ΅μ₯ν μ μ¬νλ€.
[JAVA] λ°±μ€ 11726λ² γ2×n νμΌλ§γ
λ¨Όμ , λ¬Έμ μ μ리λ₯Ό μ΄ν΄ν΄μΌνλ€. λ€μ΄λλ―Ή νλ‘κ·Έλλ° λ¬Έμ λ‘, Dp[n] μ 2*n μ¬κ°νμ κ²½μ°μ μλ₯Ό λ©λͺ¨μ΄μ μ΄μ ν΄μΌνλ€. 2*1 μ¬κ°νμ κ²½μ° 1κ°μ§, 2*2 μ¬κ°νμ κ²½μ° 2κ°μ§κ° λμ¨λ€. μ κ·Έλ¦Ό
yinq.tistory.com
11726 λ²μ λ¨Όμ μ΄ν΄νλ κ²μ΄ μ’λ€.
μ°¨μ΄μ μ΄λΌκ³ νλ€λ©΄, 2*2 μ¬κ°νλ μ¬μ©νμ¬ μ±μ°κΈ° λλ¬Έμ,
2*3 μ¬κ°ν κ²½μ°μ μμμ, 2*1 μ¬κ°ν κ²½μ°μ μκ° 2λ² μλ κ²κ³Ό κ°μ μ΄μΉκ° λλ€.
μ¦ Dp[n] = Dp[n-1] +2*Dp[n-2] μμΌλ‘ μ νμμ ꡬμ±νλ©΄ λλ€!
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int [] Dp = new int[n+1];
Dp[0]=1; // 2*1 μ¬κ°ν κ²½μ°μ μ
Dp[1]=3; // 2*2 μ¬κ°ν κ²½μ°μ μ
for(int i=2;i<n;i++) {
Dp[i]=(Dp[i-1]+Dp[i-2]*2)%10007;
}
System.out.println(Dp[n-1]); //2*n μ¬κ°ν κ²½μ°μ μ
}
}