在 Python 中查找可以放置在大小为 n x m 的矩形内的 2x1 大小矩形的数量


假设我们有两个值 n 和 m;我们必须找到可以设置在大小为 n x m 的矩形内的 2x1 大小矩形的数量。有一些条件,我们必须考虑 -

  • 任何两个小矩形都不能重叠。

  • 每个小矩形完全位于较大的矩形内。允许接触较大矩形的边缘。

因此,如果输入如下

n = 3,m = 3,则输出将为 4

为了解决这个问题,我们将遵循以下步骤 -

  • 如果 n 模 2 与 0 相同,则

    • 返回 (n / 2) * m

  • 否则,当 m 模 2 为 0 时,则

    • 返回 (m / 2) * n

  • 返回 (n * m - 1) / 2

示例

让我们看看以下实现以获得更好的理解 -

 在线演示

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))

输入

3, 3

输出

4

更新于: 2020-08-27

130 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告