[백준 5557번] 1학년
2018. 1. 11. 17:02ㆍ알고리즘/백준
반응형
소스코드
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 | #include <iostream> using namespace std; int n, num[101], result=0; long long dp[101][1001]; long long cal(int idx, int sum) { if (sum < 0 || sum>20) { return 0; } if (idx == n - 1) { if (sum == num[n - 1]) dp[idx][sum] = 1; else dp[idx][sum] = 0; return dp[idx][sum]; } if (dp[idx][sum] != -1) { return dp[idx][sum]; } long long ret = 0; ret += cal(idx + 1, sum + num[idx]); ret += cal(idx + 1, sum - num[idx]); return dp[idx][sum] = ret; } int main() { cin >> n; for (int i = 0; i < n; i++) { cin >> num[i]; } for (int i = 0; i < n; i++) for (int j = 0; j < 1001; j++) dp[i][j] = -1; cout << cal(1, num[0]) << '\n'; return 0; } | cs |
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 4153번] 직각삼각형 (0) | 2018.01.11 |
---|---|
[백준 5533번] 유니크 (0) | 2018.01.11 |
[백준 10539번] 수빈이와 수열 (0) | 2018.01.11 |
[백준 5575번] 타임카드 (0) | 2018.01.11 |
[백준 8979번] 올림픽 (0) | 2018.01.11 |