์๊ฐ ์ ํ | ๋ฉ๋ชจ๋ฆฌ ์ ํ | ์ ๋ต ๋น์จ |
2 ์ด | 256 MB | 44.845 % |
N๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์์ ๋, ํฌ๊ธฐ๊ฐ ์์์ธ ๋ถ๋ถ์์ด ์ค์์ ๊ทธ ์์ด์ ์์๋ฅผ ๋ค ๋ํ ๊ฐ์ด S๊ฐ ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ฉ๋ชจ๋ฆฌ | ์๊ฐ |
1988 KB | 4 ms |
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
|
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int n, s, ans;
int arr[30];
void func(int idx, int sum) {
if (n == idx) {
if (s == sum) {
ans++;
}
return;
}
func(idx + 1, sum + arr[idx]);
func(idx + 1, sum);
}
int main() {
scanf("%d%d", n, s);
for (int i = 0; i < n; i++) {
scanf("%d", arr[i]);
}
func(0, 0);
if (s == 0) ans--;
printf("%d", ans);
return 0;
}
|
cs |
๋น์ทํ์ง๋ง ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ
๋ฉ๋ชจ๋ฆฌ | ์๊ฐ |
1116 KB | 0 ms |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#include <stdio.h>
int n,s,cnt,a[30];
void find(int i,int sum){
if(sum+a[i]==s) cnt++;
if(i==n-1) return;
find(i+1,sum); find(i+1,sum+a[i]);
}
int main(){
scanf("%d %d",&n,&s);
for(int i=0; i<n; i++){
scanf("%d",&a[i]);
}
find(0,0);
printf("%d",cnt);
}
|
cs |
'๐ฅ PS(Problem Solving) ๐ฅ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] #2309 ์ผ๊ณฑ ๋์์ด (0) | 2019.09.19 |
---|---|
[BOJ] #14888 ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ (0) | 2019.09.04 |
[BOJ] #14582 ์ค๋๋ ์ก๋ค (0) | 2019.09.04 |
[BOJ] #1946 ์ ์ ์ฌ์ (0) | 2019.09.04 |
[BOJ] #1541 ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2019.09.04 |
๋๊ธ