백준 풀이

백준 14888번 파이썬 dfs

ag2개발자 2022. 8. 30. 13:53
def sol(depthtotalplus,minusmulti,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)

'백준 풀이' 카테고리의 다른 글

백준 1966번 파이썬  (0) 2022.08.30
백준 2805번 파이썬 이분탐색  (0) 2022.08.30
백준 11724번 파이썬 (dfs)  (0) 2022.08.29
백준 2193번 파이썬  (0) 2022.08.29
백준 4948번 파이썬  (0) 2022.08.29