728x90
📌 문제
https://swexpertacademy.com/main/main.do
📌 문제 접근 방법
- 비트연산자를 사용해서 모든 부분집합 구한뒤, 조건에 맞는 부분집합을 골라내기
- later) 애초에 조건에 맞는 부분집합만 저장하는 방식으로 구현해봐도 좋을 듯!
📌 코드
import sys
sys.stdin = open('input.txt')
T = int(input())
A = [a for a in range(1, 13)]
len_A = len(A)
for t in range(1, T+1):
N, K = map(int, input().split())
subset = []
for i in range(1<<len_A):
temp = []
for j in range(len_A):
if i & (1<<j):
temp.append(A[j])
subset.append(temp)
cnt = 0
for set in subset:
total = 0
if len(set) == N:
for num in set:
total += num
if total == K:
cnt += 1
print(f'#{t} {cnt}')
728x90
'ALGORITHM > SW Expert Academy' 카테고리의 다른 글
[SWEA/Python] 1210. Ladder1 (0) | 2021.08.13 |
---|---|
[SWEA/Python] 1979. 어디에 단어가 들어갈 수 있을까 (0) | 2021.08.13 |
[SWEA/Python] 4836. 색칠하기 (0) | 2021.08.13 |
[SWEA/Python] 4835. 구간합 (0) | 2021.08.13 |
[SWEA/Python] 4831. 전기버스 (0) | 2021.08.13 |
댓글