Cho hai giá trị n và m, tìm số hình chữ nhật kích thước 2x1 có thể đặt vào hình chữ nhật n x m sao cho không chồng chéo và nằm hoàn toàn bên trong (có thể chạm viền).
Ví dụ: n=3, m=3 -> kết quả 4.
Thuật toán giải quyết
- Nếu
nchẵn: trả về(n/2) * m. - Ngược lại nếu
mchẵn: trả về(m/2) * n. - Ngược lại (cả hai lẻ): trả về
(n*m - 1) / 2.
Ví dụ minh họa
def count_rect(n, m):
if n % 2 == 0:
return (n // 2) * m
elif m % 2 == 0:
return (m // 2) * n
return (n * m - 1) // 2
n = 3
m = 3
print(count_rect(n, m)) # 4
Đầu vào
3, 3
Đầu ra
4