题目链接:
题目大意:
$n*m$列的矩阵,删除一个格子$x,y$。用矩形来填充矩阵。且矩形至少有一边是在矩阵的边缘上。求满足条件的矩形填充方式中面积最大的矩形,要使得该最大矩形的面积最小。
样例分析:
见题
解题思路:
任何矩形都可以分为宽度为1的小矩形,所以只考虑矩形的可以的最小长度即可。
讨论:
$m$ 代表行,$n$ 代表列
输入的时候先输入行,在输入列,当行比列大的时候要交换
任何矩形都可以分为宽度为1的小矩形,所以只考虑矩形的可以的最小长度即可。宽度始终为 $1$
当没有删除格子时,最小的面积是 $ans = min((n+1)/2,(m+1)/2)$
当 x,y处于矩形正中央时 ans- 1即可
其他情况:
如果m > n swap(n,m), swap(x,y)
之后如图所示,上下取大的 e,左右取小的f
面积就应该为 ans2 = min(e, f)
如果这个 ans2 比 最小面积ans小,肯定输入ans
否则就是 ans2
代码:
1 | //Author LJH |