백준 풀이
백준 14888번 파이썬 dfs
ag2개발자
2022. 8. 30. 13:53
def sol(depth, total, plus,minus, multi,divide):
global maximum,minimum
if depth==n:
maximum=max(maximum, total)
minimum=min(minimum,total)
return
if plus:
sol(depth+1,total+arr[depth],plus-1,minus,multi,divide)
if minus:
sol(depth+1,total-arr[depth], plus,minus-1,multi,divide)
if multi:
sol(depth+1,total*arr[depth],plus,minus,multi-1,divide)
if divide:
sol(depth+1,int(total/arr[depth]),plus,minus,multi,divide-1)
maximum=-1e9
minimum=1e9
n=int(input())
arr=list(map(int,input().split()))
op=list(map(int,input().split()))
sol(1,arr[0],op[0],op[1],op[2],op[3])
print(maximum)
print(minimum)