[문제 요약]
A가 펜케익을 T번 먹을때 남는 펜케익의 부피를 가장 크게 남길때의 부피를 구하는 것이다.
한번 먹을때 1cm 만큼 팬케이크의 한 변이 줄어든다.
[풀이]
우선 test case의 개수를 input으로 받는다.
각 test case는 W(width), D(depth), H(height)와 t(먹는 횟수)를 input으로 주는데
가장 남는 부피를 크게 남기려면 W, D, H의 크기를 비슷하게 맞춰주어야한다.
그래서 셋 중 가장 큰 변의 크기를 1cm 씩 iterative 하게 줄이는 풀이가 easy 한 난이도를 통과하기 무난하다.
[유의할 점]
test case의 개수와 input이 1칸씩 더 띄워져있기 때문에 input을 받을떼 유의할것.
[파이썬 3 코드]
def max_minus1(x, y, z):
if x > y:
if x > z:
return x-1, y, z
else:
return x, y, z-1
else:
if y > z:
return x, y-1, z
else:
return x, y, z-1
if __name__ == "__main__":
cases = int(input())
_ = input()
max_sizes = []
for i in range(cases):
w, d, h, t = map(int, input().split(" "))
for j in range(t):
w, d, h = max_minus1(w, d, h)
if i != cases-1:
_ = input()
max_sizes.append(w*d*h)
for k in range(len(max_sizes)):
print(max_sizes[k])
댓글 영역