PS
[백준] 18111번 : 마인크래프트 (브루트포스 알고리즘)- 파이썬[Python]
choisanghyun
2022. 1. 20. 20:36
728x90
문제
18111번: 마인크래프트
팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게
www.acmicpc.net
풀이
import sys
N,M,B = map(int,sys.stdin.readline().split())
list1=[]
solve=[]
for i in range(N):
list1+=(map(int,sys.stdin.readline().split()))
for i in range(min(list1),max(list1)+1):
bag=B
sec=0
for ground in list1:
if (ground-i)>0: #1번작업
bag+=(ground-i)
sec+=2*(ground-i)
elif (ground-i)<0:#2번작업
bag+=(ground-i)
sec+=1*(ground-i)*-1 #양수로 전환하여 곱하기
if bag>=0:
solve.append([sec,i])
solve.sort(key=lambda x:(x[0],-x[1])) #걸린시간 오름차순, 높이 내림차순
print(solve[0][0],solve[0][1])