ให้สี่เหลี่ยมผืนผ้าขนาด n x m หาจำนวนสี่เหลี่ยมจัตุรัสขนาดจำนวนเต็มที่น้อยที่สุดที่สามารถปูครอบคลุมสี่เหลี่ยมผืนผ้าได้ เช่น n=2, m=3 เอาต์พุต = 3 (ต้องใช้ 3 ชิ้น) วิธีแก้ − ใช้ DFS + Backtracking พร้อม Memoization ลองวางสี่เหลี่ยมจัตุรัสขนาดต่างๆ จากมุมที่ว่างอยู่ต่ำสุด ตัวอย่าง #include <bits/s