[1486] 장훈이의 높은 선반
PS/SW Expert Academy2018. 6. 20. 21:09
### SW Expert Academy - D4 ###
[1486] 장훈이의 높은 선반 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV2b7Yf6ABcBBASw&categoryId=AV2b7Yf6ABcBBASw&categoryType=CODE
<소스코드>
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <stdio.h> int h[21]; int n, b, ans; void go(int idx, int sum) { if(sum >= b) { if(ans > sum-b) ans = sum-b; return ; } if(idx == n) return ; go(idx+1, sum+h[idx]); go(idx+1, sum); } int main() { int T; scanf("%d", &T); for(int tc=1; tc<=T; tc++) { scanf("%d%d", &n, &b); ans = 0; for(int i=0; i<n; i++) { scanf("%d", h+i); ans += h[i]; } go(0, 0); printf("#%d %d\n", tc, ans); } return 0; } | cs |
>> n 제한이 20이므로 2^20 = 1048576 이므로 모든 경우의 수를 다 확인해봐도 된다.
'PS > SW Expert Academy' 카테고리의 다른 글
[3124] 최소 스패닝 트리 (0) | 2018.06.20 |
---|---|
[4408] 자기방으로 돌아가기 (0) | 2018.06.10 |