728x90
https://www.acmicpc.net/problem/2961
브루트포스로 풀었다
재료를 1개 선택하는 경우부터 2개, 3개, ... n개까지 선택하는 경우 각각의 조합 경우의 수를 따져봤다.
그리고 신맛과 쓴맛의 차이의 최솟값이 나올 때마다 갱신했다.
from itertools import combinations
data = []
n = int(input())
for _ in range(n):
s, b = map(int, input().split())
data.append((s, b))
min_diff = int(1e9)
for k in range(1, n+1): # 1개 이상 n개 이하까지 선택할 수 있음
for case in list(combinations(data, k)): # k 개 선택하는 경우
temp_s = 1
temp_b = 0
for c in case:
temp_s *= c[0]
temp_b += c[1]
min_diff = min(min_diff, abs(temp_s - temp_b))
print(min_diff)
728x90
'Algorithm (PS)' 카테고리의 다른 글
[백준] 21318 피아노체조 Python (0) | 2022.10.21 |
---|---|
[백준/삼성기출] 21610 마법사 상어와 비바라기 Python (1) | 2022.10.15 |
[정보처리기사/실기] 2장 데이터 입출력 구현 (0) | 2022.10.11 |
[백준] 2513 회전초밥 Python (0) | 2022.10.10 |
[백준] 6603 로또 Python (0) | 2022.10.09 |