在 C++ 中使用準確 k 個切割來得到給定矩形可得的最小面積可能的最大值


本教程中,我們將討論一個程式,該程式將找到使用確切 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

更新於:09-Sep-2020

92 瀏覽

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.