https://www.acmicpc.net/problem/10844
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
static long dp[][];
static int n;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n=sc.nextInt();
dp=new long[n+1][10];
long result=0;
for(int i=1;i<10;i++ ) {
dp[1][i]=1;
dp[1][0]=0;
}
for(int i=2;i<=n;i++) {
dp[i][0]=dp[i-1][1];
dp[i][1]=dp[i-1][0]+dp[i-1][2];
dp[i][2]=dp[i-1][1]+dp[i-1][3];
dp[i][3]=dp[i-1][2]+dp[i-1][4];
dp[i][4]=dp[i-1][3]+dp[i-1][5];
dp[i][5]=dp[i-1][4]+dp[i-1][6];
dp[i][6]=dp[i-1][5]+dp[i-1][7];
dp[i][7]=dp[i-1][6]+dp[i-1][8];
dp[i][8]=dp[i-1][7]+dp[i-1][9];
dp[i][9]=dp[i-1][8];
}
for(int i=0;i<10;i++) {
result+=dp[n][i];
}
System.out.println(result%1000000000);
https://www.acmicpc.net/problem/10844
2차원 배열로 뚝딱풀리는거였노.....
풀엇는데 왜 또 틀렷다고 하는거지?
dp 더하기할때 long.max 넘어가는거 아님?
수정햇는데도 틀렷다하네 뭐가문제지...
나머지 구하라 할 때는 대부분 오버플로우나서 나머지 구하라는거라 답이 아니라 계산할 때마다 나머지 연산 해야함
ㅇㅎ
아 됐다 ㄳㄳ