1seul357

[SWEA] 부분집합의 합 본문

알고리즘/SWEA

[SWEA] 부분집합의 합

1seul 2021. 12. 3. 13:41
T = 10
for TC in range(T):
    N = int(input())
    arr = list(map(int, input().split()))
    count = 0                  # 합계는 테스트케이스별로 구하는 것이기 때문에 여기서 초기화
    for i in range(1<<N):      # 총 2의 N승 반복
        sum_num = 0
        for j in range(N):     # 요소 수만큼 반복
            if i& (1<<j):      # i의 j번째 요소가 1이면 꺼내오기
                sum_num += arr[j]
        if sum_num == 0:     # 합이 0이면
            count += 1       # count +1

    print('#{} {}'.format(TC+1, count))

'알고리즘 > SWEA' 카테고리의 다른 글

[SWEA] 구간 합  (0) 2021.12.03
[SWEA] Flatten  (0) 2021.12.03
[SWEA] 숫자를 정렬하자  (0) 2021.12.03
[SWEA] 특별한 정렬  (0) 2021.12.03
[SWEA] 문자열 비교  (0) 2021.12.03