백준14888(파이썬) - 연산자 끼워넣기
resilient
·2021. 5. 2. 00:17
728x90
반응형
14888번: 연산자 끼워넣기
첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수,
www.acmicpc.net
import sys
from collections import deque
input = sys.stdin.readline
n = int(input())
numbers = list(map(int,input().split()))
plus, minus, mul, div = map(int,input().split())
ans = []
def dfs(plus,minus,mul,div,cnt,total):
if cnt == n-1:
ans.append(total)
if plus>0:
dfs(plus-1,minus,mul,div,cnt+1,total+numbers[cnt+1])
if minus>0:
dfs(plus,minus-1,mul,div,cnt+1,total-numbers[cnt+1])
if mul>0:
dfs(plus,minus,mul-1,div,cnt+1,total*numbers[cnt+1])
if div>0:
dfs(plus,minus,mul,div-1,cnt+1,int(total/numbers[cnt+1])) #나눗셈할때 -를
dfs(plus,minus,mul,div,0,numbers[0])
print(max(ans))
print(min(ans))
반응형
'자료구조 & 알고리즘 > 백준(Baekjoon)' 카테고리의 다른 글
백준2294(파이썬) - 동전2 (0) | 2021.05.04 |
---|---|
백준 2293(파이썬) - 동전1 (0) | 2021.05.03 |
백준1927(파이썬) - 최소 힙 (0) | 2021.05.01 |
백준1003(파이썬) - 피보나치 함수 (0) | 2021.05.01 |
백준11279(파이썬) - 최대 힙 (0) | 2021.04.30 |