본문 바로가기

알고리즘/DP89

1563 개근상 1234567891011121314151617181920212223242526272829303132333435#include long long dp[1005][3][4] = { 0 }; int main() { int n; scanf("%d", &n); dp[1][0][0] = 1; dp[1][1][0] = 1; dp[1][0][1] = 1; long long rst = 0; for (int i = 2; i 2019. 7. 14.
1947 선물 전달 12345678910111213141516171819202122232425#include 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 2019. 7. 14.
1509 펠린드롬 분할 수정 전> 시간초과 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include #include #include using namespace std; string str;int dp[2505][2505] = { 0 }; int main() { getline(cin, str); str = "0" + str; int len = str.length() - 1; for (int i = 1; i 2019. 7. 13.
10844 쉬운 계단수 12345678910111213141516171819202122232425262728#include long long dp[105][11] = { 0 }; int main() { int n; scanf("%d", &n); for (int j = 1; j 2019. 7. 13.
1254 펠린드롬 만들기 (2가지 풀이) 풀이 1 / DP 사용 안함 123456789101112131415161718192021222324252627282930313233343536#include #include #include using namespace std; string str; int main() { cin >> str; str = "0" + str; int len = str.length() - 1; int part; for (int i = 1; i 2019. 7. 13.
1958 LCS3 123456789101112131415161718192021222324252627282930313233343536373839404142#include #include #include #include using namespace std; string str1;string str2;string str3; int dp[105][105][105] = { 0 }; int main() { cin >> str1 >> str2 >> str3; str1 = "0" + str1; str2 = "0" + str2; str3 = "0" + str3; int len1 = str1.length() - 1; int len2 = str2.length() - 1; int len3 = str3.length() - 1; for (int .. 2019. 7. 13.
5582 공통부분 문자열 12345678910111213141516171819202122232425262728293031323334#include #include #include using namespace std; string str1;string str2; int dp[4004][4004] = { 0 }; int main() { cin >> str1 >> str2; str1 = "0" + str1; str2 = "0" + str2; int len1 = str1.size() - 1; int len2 = str2.size() - 1; int rst = 0; for (int i = 1; i 2019. 7. 13.
3943 헤일스톤 수열 12345678910111213141516171819202122232425#include int main() { int t; scanf("%d", &t); for (int i = 1; i 2019. 7. 12.
9252 LCS 2 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include #include #include #include #include using namespace std; string str1, str2;int dp[1005][1005] = { 0 }; stack rst; int main() { cin >> str1 >> str2; int len1 = str1.size(); // i int len2 = str2.size(); // j str1 = "0" + str1; str2 = "0" + str2; for (i.. 2019. 7. 12.
2229 조짜기 123456789101112131415161718192021222324252627282930313233343536#include #include int arr[1005] = { 0 };int dp[1005][1005] = { 0 }; int main() { int n; scanf("%d", &n); for (int i = 1; i 2019. 7. 12.
2602 돌다리 건너기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include #include #include #include using namespace std; string part, arr1, arr2;int dp[25][3][105] = { 0 }; int main() { getline(cin, part); getline(cin, arr1); getline(cin, arr2); for (int j = 0; j 2019. 7. 12.
2352 반도체 설계 12345678910111213141516171819202122232425262728293031#include #include #include using namespace std; int arr[50000] = { 0 };vector dp; int main() { int n; scanf("%d", &n); for (int i = 1; i 2019. 7. 11.