博客类网站怎么做,湛江网站排名提升,广州富邦物流网站建设,建设网站会员正题
题目链接:https://jzoj.net/senior/#contest/show/2953/0 题目大意 n∗mn*mn∗m的矩阵#xff0c;有数字#xff0c;横着三刀竖着三刀分成16份使得最小那份最大。 解题思路
暴力枚举竖着的三刀#xff0c;然后二分答案判定即可。 codecodecode
#includecstdio有数字横着三刀竖着三刀分成16份使得最小那份最大。 解题思路
暴力枚举竖着的三刀然后二分答案判定即可。 codecodecode
#includecstdio
#includecstring
#includealgorithm
using namespace std;
const int N80;
int n,m,a[N][N],lim,ans;
bool check(int c1,int c2,int c3,int x)
{int p10,p20,p30,p40,k0;for(int i1;in;i){p1a[i][c1];p2a[i][c2]-a[i][c1];p3a[i][c3]-a[i][c2];p4a[i][m]-a[i][c3];if(p1xp2xp3xp4x)p1p2p3p40,k;}return k4;
}
int main()
{scanf(%d%d,n,m);for(int i1;in;i)for(int j1;jm;j){scanf(%1d,a[i][j]);lima[i][j];a[i][j]a[i][j-1];}for(int c11;c1m;c1)for(int c2c11;c2m;c2)for(int c3c21;c3m;c3){int l0,rlim;while(lr){int mid(lr)/2;if(check(c1,c2,c3,mid)) lmid1;else rmid-1;}ansmax(ans,r); }printf(%d,ans);
}