Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 11057] 오르막 수 본문
반응형
길이가 1일때 10(1+1+1+1+...+1)
길이가 2일때 55(1+2+3+4+...+10)
길이가 3일때 220(1+3+6+10+...+55) 이다.
dp[2][1] = dp[1][1]
dp[2][2] = dp[1][1] + dp[1][2]
dp[2][3] = dp[1][1] + dp[1][2] + dp[1][3] ......
을 바탕으로 점화식을 세워 풀이한다.
각 인덱스를 더하면 자료형의 범위를 초과할 수 있으므로 매 연산마다 10007 로 나누어주고
마지막에도 나누어주면 되겠다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int dp[][] = new int[1001][10];
for(int i=0; i<10; i++) dp[1][i] = 1;
for(int i=2; i<n+1; i++) {
for(int j=0; j<10; j++) {
for(int k=0; k<=j; k++) {
dp[i][j] = (dp[i][j] + dp[i-1][k]) % 10007;
}
}
}
int sum = 0;
for(int i=0; i<10; i++)
sum = (sum + dp[n][i]) % 10007;
System.out.println(sum);
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 11292] 키 큰 사람 (0) | 2019.04.27 |
---|---|
[백준 16236] 아기 상어 (0) | 2019.04.23 |
[백준 9251] LCS (0) | 2019.04.23 |
[백준 2212] 센서 (0) | 2019.04.22 |
[백준 1969] DNA (0) | 2019.04.22 |
Comments