728x90
반응형
풀고보니 파이썬 제출이 없어서 채점을 진행하지 못한 문제
DFS로 길이가 2개인 부분집합을 생성해서 합을 비교해서 answer을 도출하는 방식으로 풀었다.
가지치기를 안해서 아마 시간초과가 날 가능성이 높다.
T = int(input())
def DFS(L, s, k):
global answer
if L == n:
return
else:
if k==2:
if m >= s:
if answer <= s:
answer = s
DFS(L+1, s+arr[L], k+1)
DFS(L+1, s, k)
for _ in range(T):
n, m = map(int, input().split())
arr = list(map(int, input().split()))
answer = -1
DFS(0, 0, 0)
print(f'#{_+1} {answer}')
완성
SWEA 문제 너무 좋다.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[SWEA] 백만 장자 프로젝트 - python (0) | 2024.05.13 |
---|---|
[SWEA] 최대 상금 - python (0) | 2024.05.13 |
[백준] 15988번: 1, 2, 3 더하기 3 - python (0) | 2024.05.07 |
[백준] 10026번: 적록색약 - python (0) | 2024.05.07 |
[백준] 2252번: 줄 세우기 - python (0) | 2024.05.07 |