Files
baekjoon-study/workbook_8708/bronze/23971-b3.py
2026-02-23 11:14:50 +09:00

25 lines
1.3 KiB
Python

# ZOAC 4
import sys
input = sys.stdin.readline
def solution():
h, w, n, m = map(int, input().rstrip().split())
a = (h // (n+1)) + 1 if (h % (n+1)) != 0 else h // (n+1)
b = (w // (m+1)) + 1 if (w % (m+1)) != 0 else w // (m+1)
print(a*b)
return
solution()
"""
걸린 시간: 15분?
해설: n, m씩 떨어져 앉아야 된다는 것은 (n+1) X (m+1)의 직사각형의 범위를 가진다는 뜻이고, 전체 격자에 이 직사각형이 몇 개 들어가냐의 문제로 바뀐다.
따라서 직사각형의 가로를 w에 나눈 몫과 직사각형의 세로를 h에 나눈 몫을 곱하면 그 격자에 들어가는 직사각형을 구할 수 있다.
이때 주의할 점은 사람은 직사각형의 한 칸만 차지하기 때문에 나누어떨어지지 않고, 조금 칸이 남는 경우에는 사람이 앉을 수 있다.
따라서 나누어떨어지지 않는 경우에는 마지막에 곱할 때, 1씩 더해준다.
추가로, n만큼 떨어지거나(or) m만큼 떨어지면된다. 라는 말에 직사각형으로 아예 치는게 맞느냐는 의문이 들 수 있다.
근데 실제로 m만큼 안 떨어지고 n만큼만 떨어져서 앉게 그림을 그려도 어떻게 그리든 사람마다 직사각혐의 범위를 침범할 수 없다.
"""