Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Số hình chữ nhật 2x1 đặt được trong hình chữ nhật n x m trong Python


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 n chẵn: trả về (n/2) * m.
  • Ngược lại nếu m chẵ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