Search
Duplicate
๐Ÿฅˆ

๋™์ „ 1

์ฃผ์ฐจ
12
๋ฌธ์ œ๋ฒˆํ˜ธ
2293
์–ธ์–ด
ํ‹ฐ์–ด
์‹ค๋ฒ„
์œ ํ˜•
DP
nj_Blog
O
nj_์ƒํƒœ
์™„๋ฃŒ
์ดํ•ด๋„
ํ’€์ด
์‚ฌ๋žŒ
์ดํ•ด๋„ 2
13 more properties

๋ฌธ์ œ๋งํฌ

์ฝ”๋“œ ์ œ์ถœ ๊ธฐ๋ก (๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‹œ๊ฐ„)

๋ฉ”๋ชจ๋ฆฌ : 1116 KB
์‹œ๊ฐ„ : 0ms

Code

#include <stdio.h> int main(){ int n, k; int arr[109], dp[20009]; scanf("%d %d", &n, &k); for(int i=0 ; i<n ; i++) scanf("%d", &arr[i]); for(int i=0 ; i<=k ; i++) dp[i] = 0; for(int i=0 ; i<n ; i++){ if (arr[i]>k) continue; dp[arr[i]] += 1; for (int j = arr[i]+1 ; j<=k ; j++){ dp[j] += dp[j-arr[i]]; } } printf("%d\n", dp[k]); return (0); }
C++
๋ณต์‚ฌ

๋ฉ”๋ชจ

๋„˜๋‚˜ ์–ด๋ ต...

<์œ ์˜์‚ฌํ•ญ>

โ€ข
if (arr[i]>k) continue; ์•ˆํ•ด์ฃผ๋ฉด dp[arr[i]] += 1; ์—ฌ๊ธฐ์„œ ๋ฐฐ์—ด์„ ๋„˜์–ด๊ฐ!!!!!!!!
(์ด๊ฑฐ ์ฐพ๋Š”๋ฐ 1์‹œ๊ฐ„..๊ฑธ๋ฆผ)
โ€ข
์œ„์˜ ๋ฌธ์ œ ์•ˆ์ƒ๊ธฐ๊ฒŒ ํ•˜๋ ค๋ฉด ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ
#include <stdio.h> int main(){ int n, k; int arr[109], dp[20009]; scanf("%d %d", &n, &k); for(int i=0 ; i<n ; i++) scanf("%d", &arr[i]); for(int i=0 ; i<=k ; i++) dp[i] = 0; dp[0] = 1; for(int i=0 ; i<n ; i++){ if (arr[i]>k) continue; //dp[arr[i]] += 1; for (int j = arr[i] ; j<=k ; j++){ dp[j] += dp[j-arr[i]]; } } printf("%d\n", dp[k]); return (0); }
C++
๋ณต์‚ฌ

<๋ฌธ์ œํ’€์ด>

โ€ข
1 2 5๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜
โ€ข
dp ํ•จ์ˆ˜๊ฐ€ ๋ณ€ํ•ด๊ฐ€๋Š” ๊ณผ์ •