๋ฌธ์
https://www.acmicpc.net/problem/14888
ํ์ด
# ๋ฐฑ์ค 14888๋ฒ ๋ฌธ์ - ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ
n = int(input())
number = list(map(int, input().split()))
add, sub, mul, div = map(int, input().split());
max_result = - int(1e9)
min_result = int(1e9)
def dfs(add, sub, mul, div, sum_value, idx):
global max_result, min_result
if idx == n:
max_result = max(max_result, sum_value)
min_result = min(min_result, sum_value)
return
if add:
dfs(add-1, sub, mul, div, sum_value + number[idx], idx + 1)
if sub:
dfs(add, sub-1, mul, div, sum_value - number[idx], idx + 1)
if mul:
dfs(add, sub, mul-1, div, sum_value * number[idx], idx + 1)
if div:
dfs(add, sub, mul, div-1, int(sum_value / number[idx]), idx + 1)
dfs(add, sub, mul, div, number[0], 1)
print(max_result)
print(min_result)
DFS ๋ฅผ ์ด์ฉํ ๋ฐฑํธ๋ํน ๋ฌธ์
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ [๋ฐฑ์ค] [Python] [Silver4] 2960๋ฒ_์๋ผํ ์คํ ๋ค์ค์ ์ฒด (0) | 2023.02.19 |
---|---|
๐ฉ [๋ฐฑ์ค] [Python] [Silver1] [์ผ์ฑ SW ์ญ๋ ํ ์คํธ ๊ธฐ์ถ ๋ฌธ์ ] 14891๋ฒ_ํฑ๋๋ฐํด (0) | 2023.02.14 |
๐ฉ [๋ฐฑ์ค] [Python] [Gold5] 2293๋ฒ_๋์ 2 (0) | 2023.02.12 |
๐ฉ [๋ฐฑ์ค] [Python] [Gold5] 2293๋ฒ_๋์ 1 (0) | 2023.02.11 |
๐ฉ [๋ฐฑ์ค] [Python] [Gold5] 14503๋ฒ_๋ก๋ด ์ฒญ์๊ธฐ (0) | 2023.02.10 |