查找点亮地板所需灯的 C++ 代码


假设有一个地板分成一个 n 行 m 列的网格。现在,必须使用灯照亮地板。如果将灯放置在两个单元格的边框上,它可以照亮两个单元格。如果将灯放置在垂直边界,它会照亮其左右的单元格;如果将灯放置在水平边界,它会照亮其前后方的单元格。给定 n 和 m,我们必须找出照亮整个地板所需的最小灯数。

因此,如果输入为 n = 5,m = 3,则输出将为 8。

步骤

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

res := (n * m + 1) / 2
return res

示例

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

#include <bits/stdc++.h>
using namespace std;
#define N 100
int solve(int n, int m) {
   int res = (n * m + 1) / 2;
   return res;
}
int main() {
   int n = 5, m = 3;
   cout<< solve(n, m);
   return 0;
}

输入

5, 3

输出

8

更新于: 2022-03-11

354 次浏览

开启您的职业生涯

通过完成该课程获取认证

开始
广告