티스토리 뷰
반응형
문제의 저작권은 SW Expert Academy에 있습니다.
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
|
def powerset(n, s): # n: 원소의 갯수, s: 현재depth
global K, cnt, A
if s == 13 :
return
a = sum(A)
if n == a: # Basis Part
sumt = 0
for i in range(len(A)):
if A[i] == 1:
sumt += data[i]
if sumt == K:
cnt+=1
else: # Inductive Part
A[s] = 1 # k번 요소 O
powerset(n, s + 1) # 다음 요소 포함 여부 결정
A[s] = 0 # k번 요소 X
powerset(n, s + 1) # 다음 요소 포함 여부 결정
TC= int(input())
for tc in range(1, TC+1):
N, K = map(int, input().split())
cnt = 0
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
A = [0]*13
powerset(N, 0)
print("#%d %d"%(tc, cnt))
|
cs |
나는 재귀로 풀었다.
나중에 재귀 배우고 푸는 것을 추천한다.
위 방법은 부분집합으로 푼 방법인데, 역량테스트 치는 사람들은 부분집합 재귀에 대해서 공부해 보는 것도 좋다.
위의 코드로 작성할 때 주의할 점은 A에 [0] 숫자를 13개 주는 것이다.
대입 후에 s+1로 재귀하기 때문에 사실 상 재귀 첫부분은 s+1이 아니라 s 부분을 검사하는 것이라는 것을 잊지말자
반응형
'알고리즘 > sw' 카테고리의 다른 글
4864. [파이썬 S/W 문제해결 기본] 3일차 - 문자열 비교_python (0) | 2020.03.27 |
---|---|
4839. [파이썬 S/W 문제해결 기본] 2일차 - 이진탐색_python (0) | 2020.03.26 |
4836. [파이썬 S/W 문제해결 기본] 2일차 - 색칠하기_python (0) | 2020.03.25 |
[파이썬 S/W 문제해결 기본] LIST1 - 구간합 _ python (0) | 2020.03.25 |
4831. [파이썬 S/W 문제해결 기본] LIST1 - 전기버스 _ python (1) | 2020.03.25 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Python
- Deque
- Express
- read_csv
- vuejs
- django
- useHistory 안됨
- Queue
- pandas
- TensorFlow
- useState
- Vue
- UserCreationForm
- JavaScript
- logout
- nodejs
- 자료구조
- login
- DFS
- next.config.js
- 자연어처리
- react autoFocus
- 클라우데라
- BFS
- mongoDB
- nextjs autoFocus
- typescript
- NextJS
- error:0308010C:digital envelope routines::unsupported
- react
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함