https://www.acmicpc.net/problem/16198
16198번: 에너지 모으기
N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있
www.acmicpc.net
재귀를 통해 푸는 문제
완전탐색을 이용해야 함..
처음엔 좌 우 가장 큰 것으로 해서 뽑았더니 반례에서 걸렸다...
답은 완전탐색으로 최댓값을 구하야함?
n = int(input())
arr = list(map(int,input().split()))
Max = 0
lst = []
def dfs(level):
global Max
if len(arr) ==2:
if Max < level:
Max = level
return
if len(arr) >=3:
for i in range(1,len(arr)-1):
energy = arr[i-1] * arr[i+1]
now = arr.pop(i)
dfs(level + energy)
arr.insert(i,now)
dfs(0)
print(Max)
'Algorithm > baekjoon' 카테고리의 다른 글
[파이썬]baekjoon 12904: A와 B (0) | 2023.02.10 |
---|---|
[파이썬]baekjoon 12931: 두 배 더하기 (0) | 2023.02.10 |
[파이썬]baekjoon 1496: 기타 고르기 (0) | 2023.02.09 |
[파이썬]baekjoon 14719: 빗물 (2) | 2023.02.07 |
[파이썬]baekjoon 12919: A와 B 2 (2) | 2023.01.22 |
댓글