๐ป
[๋ฐฑ์ค] ์กฐํฉ๋ก - 5557. 1ํ๋ ๋ณธ๋ฌธ
๋ฌธ์
์๊ทผ์ด๊ฐ 1ํ๋ ๋, ๋ง์ , ๋บ์ ์ ๋งค์ฐ ์ข์ํ๋ค. ์๊ทผ์ด๋ ์ซ์๊ฐ ์ค ์ง์ด์๋ ๊ฒ์ ๋ณด๊ธฐ๋ง ํ๋ฉด, ๋ง์ง๋ง ๋ ์ซ์ ์ฌ์ด์ '='์ ๋ฃ๊ณ , ๋๋จธ์ง ์ซ์ ์ฌ์ด์๋ '+' ๋๋ '-'๋ฅผ ๋ฃ์ด ๋ฑ์์ ๋ง๋ค๋ฉฐ ๋๊ณ ์๋ค. ์๋ฅผ ๋ค์ด, "8 3 2 4 8 7 2 4 0 8 8"์์ ๋ฑ์ "8+3-2-4+8-7-2-4-0+8=8"์ ๋ง๋ค ์ ์๋ค.
์๊ทผ์ด๋ ์ฌ๋ฐ๋ฅธ ๋ฑ์์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์๊ทผ์ด๋ ์์ง ํ๊ต์์ ์์๋ฅผ ๋ฐฐ์ฐ์ง ์์๊ณ , 20์ ๋๋ ์๋ ๋ชจ๋ฅธ๋ค. ๋ฐ๋ผ์, ์ผ์ชฝ๋ถํฐ ๊ณ์ฐํ ๋, ์ค๊ฐ์ ๋์ค๋ ์๊ฐ ๋ชจ๋ 0 ์ด์ 20 ์ดํ์ด์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, "8+3+2-4-8-7+2+4+0+8=8"์ ์ฌ๋ฐ๋ฅธ ๋ฑ์์ด์ง๋ง, 8+3+2-4-8-7์ด ์์์ด๊ธฐ ๋๋ฌธ์, ์๊ทผ์ด๊ฐ ๋ง๋ค ์ ์๋ ๋ฑ์์ด๋ค.
์ซ์๊ฐ ์ฃผ์ด์ก์ ๋, ์๊ทผ์ด๊ฐ ๋ง๋ค ์ ์๋ ์ฌ๋ฐ๋ฅธ ๋ฑ์์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ซ์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (3 ≤ N ≤ 100) ๋์งธ ์ค์๋ 0 ์ด์ 9 ์ดํ์ ์ ์ N๊ฐ๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์๊ทผ์ด๊ฐ ๋ง๋ค ์ ์๋ ์ฌ๋ฐ๋ฅธ ๋ฑ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ์ด ๊ฐ์ 2^63-1 ์ดํ์ด๋ค.
์์ ์ ๋ ฅ1
11
8 3 2 4 8 7 2 4 0 8 8
์์ ์ถ๋ ฅ1
10
ํํธ
- 8+3-2-4+8-7-2-4-0+8=8
- 8+3-2-4+8-7-2-4+0+8=8
- 8+3+2+4-8-7+2-4-0+8=8
- 8+3+2+4-8-7+2-4+0+8=8
- 8+3+2-4+8-7+2+4-0-8=8
- 8+3+2-4+8-7+2+4+0-8=8
- 8-3+2+4-8+7+2+4-0-8=8
- 8-3+2+4-8+7+2+4+0-8=8
- 8-3+2-4+8+7+2-4-0-8=8
- 8-3+2-4+8+7+2-4+0-8=8
์๊ฐ
๋จผ์ , ๋ฌธ์ ์์ ์ถ๋ ฅ์ด 2^63-1 ์ดํ์ ํฐ ์ซ์ ์ด๋ฏ๋ก long long ์ผ๋ก ์ ์ธํด์ผํ๋ค.
d[i][j] : i๋ฒ์งธ ์ซ์๊น์ง๋ก j(0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ 20๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์)๋ฅผ ๋ง๋ค ์ ์๋ ๊ฐฏ์๋ฅผ ๋ปํ๋ค.
8 3 2 4 8 7 2 4 0 8 8
d[0][8] = 1
d[1][8+3] = d[1][11] = 1
d[1][8-3] = d[1][5] = 1
์์ฑํ ์ฝ๋
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 <iostream>
using namespace std;
int n;
int num[101];
long long d[101][21];
int main(int argc, const char * argv[]) {
// insert code here...
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for (int i = 0; i < n; i++) {
cin >> num[i];
}
d[0][num[0]] = 1;
for (int i = 1; i < n-1; i++) {
for (int j = 0; j <= 20; j++) {
if (d[i][j] != 0) {
if (j + num[i] <= 20) {
d[i][j + num[i]] += d[i-1][j];
}
if (j - num[i] >= 0) {
d[i][j - num[i]] += d[i-1][j];
}
}
}
}
cout << d[n-2][num[n-1]] << "\n";
return 0;
}
Colored by Color Scripter
|
'์๊ณ ๋ฆฌ์ฆ > ๋ฌธ์ ํ์ด Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] ์๋ฎฌ๋ ์ด์ - 14503. ๋ก๋ด ์ฒญ์๊ธฐ (0) | 2020.03.23 |
---|---|
[๋ฐฑ์ค] ๋ฐฑํธ๋ํน - 9207. ํ๊ทธ ์๋ฆฌํ ์ด (0) | 2020.03.23 |
[๋ฐฑ์ค] ๋ถ๋ฅ์์ - 16916. ๋ถ๋ถ ๋ฌธ์์ด (0) | 2020.03.20 |
[๋ฐฑ์ค] ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ - 2156. ํฌ๋์ฃผ ์์ (0) | 2020.03.20 |
[๋ฐฑ์ค] ๋ฐฑํธ๋ํน - 3967. ๋งค์ง ์คํ (0) | 2020.03.18 |