1182번: 부분수열의 합
첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다.
www.acmicpc.net
문제 해석
비트마스크를 이용한 문제
코드
문제 풀이
문제 요구 사항을 입력받는다. 부분집합의 합을 만족하는 갯수 구하기 위한 변수를 설정한다. 비트마스크를 이용해 1부터 2^n까지 순회할 것이다. i를 이진수로 변환한다. 그 후에, 1을 곱하면 부분 집합에 속한 것이고 0을 곱하면 부분집합에 속하지 않은 것이다. 부분집합의 합이 만족하면 count 1을 증가한다.
'Koala - 6기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 2525번: 오븐 시계 (0) | 2022.05.21 |
---|---|
[백준/Python] 3029번: 경고 (0) | 2022.05.20 |
[백준/python] 12789번 (0) | 2022.05.15 |
[백준/c++]5598번 : 카이사르 암호 (0) | 2022.05.15 |
[백준/Python] 10102번: 개표 (0) | 2022.05.14 |