タイトル説明
Nのいずれかで* Mマトリクスは0、出力側の長さが含まれていない正方形を見つけるために、最大でのみ0と1を含んでいます。
入力形式
第一行動ファイル入力二つの整数N、M(1 <= N、M <= 100)、スペース、0又は1で区切られたm個の番号の次のn行、。
出力フォーマット
整数、広場の最大の側
この問題は、多くの方法、それは三者のnを考えるのは簡単ですが、nはなく、動的プログラミングのパーティがあることは学習の価値があります
#include<iostream>
#include<cmath>
using namespace std;
int a[101][101],n,m,f[101][101],ans;
int main()
{
cin>>n>>m;
for (int i=1;i<=n;++i)
for (int j=1;j<=m;++j)
{
cin>>a[i][j];
if(a[i][j])f[i][j]=min(min(f[i][j-1],f[i-1][j]),f[i-1][j-1])+1;
ans=max(ans,f[i][j]);
}
cout<<ans;
}