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 | #include <stdio.h> long long dp[1000005] = { 0 }; int main() { int n; scanf("%d", &n); if (n == 1) { printf("0"); return 0; } else if (n == 2) { printf("1"); return 0; } dp[1] = 0; dp[2] = 1; for (int i = 3; i <= n; i++) { dp[i] = ((i - 1) * (dp[i - 1] + dp[i - 2])) % 1000000000; } printf("%lld", dp[n]); } | cs |
'알고리즘 > DP' 카테고리의 다른 글
1695 팰린드롬 만들기 (0) | 2019.07.15 |
---|---|
1563 개근상 (0) | 2019.07.14 |
1509 펠린드롬 분할 (0) | 2019.07.13 |
10844 쉬운 계단수 (0) | 2019.07.13 |
1254 펠린드롬 만들기 (2가지 풀이) (0) | 2019.07.13 |