π»
[λ°±μ€] λμ κ³νλ² - 2293. λμ 1 λ³Έλ¬Έ
[λ°±μ€] λμ κ³νλ² - 2293. λμ 1
λν¨λ 2020. 2. 17. 23:52λ¬Έμ
nκ°μ§ μ’ λ₯μ λμ μ΄ μλ€. κ°κ°μ λμ μ΄ λνλ΄λ κ°μΉλ λ€λ₯΄λ€. μ΄ λμ μ μ λΉν μ¬μ©ν΄μ, κ·Έ κ°μΉμ ν©μ΄ kμμ΄ λλλ‘ νκ³ μΆλ€. κ·Έ κ²½μ°μ μλ₯Ό ꡬνμμ€. κ°κ°μ λμ μ λͺ κ°λΌλ μ¬μ©ν μ μλ€.
μ¬μ©ν λμ μ ꡬμ±μ΄ κ°μλ°, μμλ§ λ€λ₯Έ κ²μ κ°μ κ²½μ°μ΄λ€.
μ λ ₯
첫째 μ€μ n, kκ° μ£Όμ΄μ§λ€. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) λ€μ nκ°μ μ€μλ κ°κ°μ λμ μ κ°μΉκ° μ£Όμ΄μ§λ€. λμ μ κ°μΉλ 100,000λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€.
μΆλ ₯
첫째 μ€μ κ²½μ°μ μλ₯Ό μΆλ ₯νλ€. κ²½μ°μ μλ 2^31λ³΄λ€ μλ€.
μμ μ λ ₯1
3 10
1
2
5
μμ μΆλ ₯1
10
μκ°
μ²μμλ λκ² μ΄λ ΅κ² μ κ·Όν΄μ μ‘°ν©μΌλ‘ κ°μ§ μλ₯Ό μΈλ €κ³ μκ°νμλ€. λ ΈνΈν¨λμ μμ μΌμ΄μ€λ₯Ό κ°μ§κ³ μ§μ ν΄λ³΄λ€κ° λ»μ§ μμ λ°λ‘ κΉ¨λ¬μλ€.
dp[j] += dp[j-m[i]] μ΄ λΆλΆμ μ΄ν΄νκΈ°κ° μ΄λ €μ λλ°,
3μμ λ§λ λ€κ³ νλ©΄ 2μμΌλ‘λ§λ κ²½μ°μ μμμ 1μμ λμ μ μ¬μ©ν΄μ 3μμ λ§λλ κ²μ΄λ€.
μλμ λΈλ‘κ·Έλ₯Ό μ°Έκ³ νλ©΄, μμ£Ό μμ£Ό μ€λͺ μ΄ μ λμ΄ μλ€.
https://baejji-codingbox.tistory.com/entry/%EB%B0%B1%EC%A4%80dp-2293%EB%B2%88
μμ±ν μ½λ
#include <iostream>
using namespace std;
int m[101]; //λμ λ°°μ΄
int dp[10001]; // dp[x] : xμμ λ§λ€ μ μλ κ²½μ°μ μ
int n, k;
int main(int argc, const char * argv[]) {
// insert code here...
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n >> k; //n:λμ μ μ’
λ₯, k:κ°μΉμ ν©
for(int i=0; i<n; i++){
cin >> m[i];
}
dp[0] = 1;
for(int i=0; i<n; i++){
for(int j=0; j<=k; j++){
if(j - m[i] >= 0){
dp[j] += dp [j-m[i]];
}
}
}
cout << dp[k] << "\n";
}
'μκ³ λ¦¬μ¦ > λ¬Έμ νμ΄ Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] μ°μ μμ ν - 11279. μ΅λ ν (0) | 2020.02.18 |
---|---|
[λ°±μ€] 그리λμκ³ λ¦¬μ¦ - 1543. λ¬Έμκ²μ (0) | 2020.02.18 |
[λ°±μ€] 그리λ - 1202. 보μλλ (0) | 2020.02.13 |
[λ°±μ€] DFSμBFS - 2606. λ°μ΄λ¬μ€ (0) | 2020.02.13 |
[λ°±μ€] μ°μ μμ ν - 11286. μ λκ° ν (0) | 2020.02.13 |