이 튜토리얼에서는 주어진 직사각형의 정확히 k 컷으로 얻을 수 있는 가장 작은 가능한 영역의 최대를 찾는 프로그램에 대해 논의할 것입니다.
이를 위해 직사각형의 측면과 만들 수 있는 절단 수가 제공됩니다. 우리의 임무는 주어진 횟수만큼 잘라서 얻을 수 있는 가장 작은 면적을 계산하는 것입니다.
예시
#include <bits/stdc++.h>
using namespace std;
void max_area(int n, int m, int k) {
if (k > (n + m - 2))
cout << "Not possible" << endl;
else {
int result;
if (k < max(m, n) - 1) {
result = max(m * (n / (k + 1)), n * (m / (k + 1)));
}
else {
result = max(m / (k - n + 2), n / (k - m + 2));
}
cout << result << endl;
}
}
int main() {
int n = 3, m = 4, k = 1;
max_area(n, m, k);
return 0;
} 출력
6