20950번: 미술가 미미
미미는 미적 감각이 뛰어난 미술가이다. 미미는 때때로 여러 물감을 섞어 새로운 색의 물감을 만들고는 한다. 어느 날 그림을 그리던 미미는 놀라 자빠질 수밖에 없었다. 미미가 가장 아끼는 곰
www.acmicpc.net
코드
n = int(input())
rgb = [list(map(int, input().split())) for _ in range(n)]
gom_r, gom_g, gom_b = map(int, input().split())
ans = int(1e9)
def bt(idx, r, g, b, k):
global ans
if idx >= n:
return
# 이번 색 넣음
mun_r = r+rgb[idx][0]
mun_g = g+rgb[idx][1]
mun_b = b+rgb[idx][2]
diff = abs(mun_r//(k+1)-gom_r)+abs(mun_g//(k+1)-gom_g)+abs(mun_b//(k+1)-gom_b)
if k+1 >= 2 and ans > diff:
ans = diff
if k+1 < 7:
bt(idx+1, mun_r, mun_g, mun_b, k+1)
# 이번색 안 넣음
bt(idx+1, r, g, b, k)
bt(0, 0, 0, 0, 0)
print(ans)
백트래킹을 이용하여 풀이하였다. 색 하나씩 살펴보며 idx번째 물감을 혼합할지 안할지 두가지 경우로 나누어서 재귀적으로 bt 함수를 다시 호출하면 된다. 이때 혼합하는 경우에는 곰두리 값과의 차이를 구해서 그 차이가 ans보다 작은 경우에는 ans 값을 현재의 차이 값으로 바꿔주면 된다.
'문제풀이 > 백트래킹' 카테고리의 다른 글
[Python/파이썬] 백준 2309번 일곱 난쟁이 (0) | 2024.03.04 |
---|---|
[Python/파이썬] 백준 15566번 개구리 1 (0) | 2024.03.03 |
[Python/파이썬] 백준 1799번 비숍 (0) | 2024.02.13 |
[Python/파이썬] 백준 1342번 행운의 문자열 (0) | 2024.02.12 |
[Python/파이썬] 백준 20208번 진우의 민트초코우유 (0) | 2024.02.07 |
20950번: 미술가 미미
미미는 미적 감각이 뛰어난 미술가이다. 미미는 때때로 여러 물감을 섞어 새로운 색의 물감을 만들고는 한다. 어느 날 그림을 그리던 미미는 놀라 자빠질 수밖에 없었다. 미미가 가장 아끼는 곰
www.acmicpc.net
코드
n = int(input()) rgb = [list(map(int, input().split())) for _ in range(n)] gom_r, gom_g, gom_b = map(int, input().split()) ans = int(1e9) def bt(idx, r, g, b, k): global ans if idx >= n: return # 이번 색 넣음 mun_r = r+rgb[idx][0] mun_g = g+rgb[idx][1] mun_b = b+rgb[idx][2] diff = abs(mun_r//(k+1)-gom_r)+abs(mun_g//(k+1)-gom_g)+abs(mun_b//(k+1)-gom_b) if k+1 >= 2 and ans > diff: ans = diff if k+1 < 7: bt(idx+1, mun_r, mun_g, mun_b, k+1) # 이번색 안 넣음 bt(idx+1, r, g, b, k) bt(0, 0, 0, 0, 0) print(ans)
백트래킹을 이용하여 풀이하였다. 색 하나씩 살펴보며 idx번째 물감을 혼합할지 안할지 두가지 경우로 나누어서 재귀적으로 bt 함수를 다시 호출하면 된다. 이때 혼합하는 경우에는 곰두리 값과의 차이를 구해서 그 차이가 ans보다 작은 경우에는 ans 값을 현재의 차이 값으로 바꿔주면 된다.
'문제풀이 > 백트래킹' 카테고리의 다른 글
[Python/파이썬] 백준 2309번 일곱 난쟁이 (0) | 2024.03.04 |
---|---|
[Python/파이썬] 백준 15566번 개구리 1 (0) | 2024.03.03 |
[Python/파이썬] 백준 1799번 비숍 (0) | 2024.02.13 |
[Python/파이썬] 백준 1342번 행운의 문자열 (0) | 2024.02.12 |
[Python/파이썬] 백준 20208번 진우의 민트초코우유 (0) | 2024.02.07 |