본문 바로가기
Problem Solving/BOJ

[Brute Force] 18111 마인크래프트

by Bokoo14 2023. 1. 7.

https://www.acmicpc.net/problem/18111

 

18111번: 마인크래프트

팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게

www.acmicpc.net

# 2023.01.07
import sys
input = sys.stdin.readline

n, m, b = map(int, input().split()) # 행, 열, 인벤토리
land = [list(map(int, input().split())) for _ in range(n)]

answer=10**9
for i in range(257): # 256층 모두를 검사
    use=0 # 사용한 블록
    get=0 # 가져온 블록
    for x in range(n):
        for y in range(m):
            if land[x][y]>i: # 현재의 층보다 더 높을때 -> 1번 연산
                get+=(land[x][y]-i)
            else: # 현재의 층보다 부족하거나 같을때 -> 2번 연산
                use+=(i-land[x][y])
        
    if use>get+b: # 답이 되지 않으면 층을 갱신해주지 않음
        continue

    time=(get*2)+use
    if time<=answer: # 최소시간 찾기
        answer=time
        level=i

print(answer, level)

 

'Problem Solving > BOJ' 카테고리의 다른 글

[Deque] 5430 AC  (0) 2023.01.08
[Brute Force] 1107 리모컨  (0) 2023.01.08
[Queue] 1966 프린터 큐  (0) 2023.01.07
[Binary Search] 2805 나무 자르기  (0) 2023.01.06
[BruteForce] 15686 치킨 배달  (0) 2023.01.05