查找点亮地板所需灯的 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
广告