Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

바닥을 밝히는 데 필요한 램프를 찾는 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