본문 바로가기

알고리즘/DP89

11049 행렬 곱셈 셈 순서 1234567891011121314151617181920212223242526272829///*#include int arr[505][3] = { 0 };long long dp[505][505] = { 0 }; int main() { int n; scanf("%d", &n); for (int i = 1; i 2019. 7. 11.
2688 줄어들지 않아 1234567891011121314151617181920212223242526272829303132333435363738394041#include #include using namespace std; long long dp[1005][10] = { 0 }; int main() { int t; scanf("%d", &t); while (t--) { int num; scanf("%d", &num); for (int i = 0; i 2019. 7. 10.
9084 동전 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include #include using namespace std; int coin[25] = { 0 };int dp[25][10005] = { 0 }; int main() { int t; scanf("%d", &t); while (t--) { int num; scanf("%d", &num); for (int i = 1; i 2019. 7. 9.
1010 다리놓기 123456789101112131415161718192021222324252627282930313233343536373839#include #include using namespace std; int dp[35][35] = { 0 }; int main() { int t; scanf("%d", &t); while (t--) { int n, m; scanf("%d %d", &n, &m); for (int j = 1; j 2019. 7. 9.
2225 합분해 1234567891011121314151617181920212223242526#include long long dp[205][205] = { 0 }; int main() { int n, m; scanf("%d %d", &n, &m); for (int i = 0; i 2019. 7. 9.
2631 줄 세우기 123456789101112131415161718192021222324252627282930313233#include int arr[205] = { 0 };int dp[205] = { 0 }; int main() { int n; scanf("%d", &n); for (int i = 1; i 2019. 7. 8.
1965 상자넣기 123456789101112131415161718192021222324252627282930313233#include int arr[1005] = { 0 };int dp[1005] = { 0 }; int main() { int n; scanf("%d", &n); for (int i = 1; i 2019. 7. 8.
11054 가장 긴 바이토닉 부분수열 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include int arr[1005] = { 0 };int maxDP[1005] = { 0 };int minDP[1005] = { 0 }; int main() { int n; scanf("%d", &n); for (int i = 1; i 2019. 7. 8.
1309 동물원 12345678910111213141516#include int arr[100005] = { 0 }; int main() { int n; scanf("%d", &n); arr[1] = 3; arr[2] = 7; for (int i = 3; i 2019. 7. 8.
1904 01타일 1234567891011121314151617#include int dp[1000005] = { 0 }; int main() { int n; scanf("%d", &n); dp[1] = 1; dp[2] = 2; for (int i = 3; i 2019. 7. 8.
2133 타일 채우기 123456789101112131415161718192021#include int dp[35] = { 0 }; int main() { int n; scanf("%d", &n); dp[0] = 1; dp[2] = 3; for (int i = 4; i = 0; j += 2) { dp[i] += dp[i - j] * 2; } } printf("%d", dp[n]);}Colored by Color Scriptercs 2019. 7. 8.
14501 퇴사 12345678910111213141516171819202122232425262728293031323334353637#include int time[20] = { 0 };int pay[20] = { 0 };int dp[20] = { 0 }; int main() { int n; scanf("%d", &n); for (int i = 1; i n + 1) { pay[i] = 0; } } for (int i = 1; i 2019. 7. 7.