啊啊啊~~~
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[105][105],f[105][105],ans=INT_MIN;
int main()
{
cin>>n>>m;
for(long long i=1;i<=n;i++)
{
for(long long j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
for(long long i=1;i<=n;i++)
{
for(long long j=1;j<=n;j++)
{
f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+a[i][j];
}
}
// cout<<endl;
// for(long long i=1;i<=n;i++)
// {
// for(long long j=1;j<=n;j++)
// {
// cout<<f[i][j]<<' ';
// }
// cout<<endl;
// }
// cout<<endl;//测试
for(long long i=1;i<=n;i++)
{
for(long long j=1;j<=m;j++)
{
for(long long p=i+1;p<=n;p++)
{
for(long long q=j+1;q<=m;q++)
{
for(long long x=1;x<=n*m;x++)
{
long long y=f[p][q]-f[p][j-1]-f[i-1][q]+f[i-1][j-1];
// cout<<i<<' '<<j<<' '<<x<<' '<<y<<endl; //测试
if(y==x*x)
{
ans=max(ans,x);
}
else if(y<x*x)
{
break;
}
}
}
}
}
}
cout<<ans;
return 0;
}