จำนวน Domino 2x1 ที่วางได้ในกริด n x m
วางสี่เหลี่ยม 2x1 (Domino) ให้มากที่สุดในกริด n x m โดยไม่ทับซ้อนและอยู่ภายในขอบเขตทั้งหมด
สูตร:
- ถ้า n คู่:
(n/2) * m - ถ้า m คู่:
(m/2) * n - ถ้าทั้งคู่คี่:
(n*m - 1) / 2(เหลือ 1 ช่องว่าง)
โค้ดตัวอย่าง Python
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
print(count_rect(3, 3)) # 4