40分求救
查看原帖
40分求救
1039717
Andy_hpy楼主2025/1/15 09:06
#include <bits/stdc++.h>
#include <unistd.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef long double ldb;
const ll MAXN=105;
ll n,m,a[MAXN][MAXN],dp[MAXN][MAXN];
int main() {
	cin>>n>>m;
	for(ll i=1;i<=n;++i){
		for(ll j=1;j<=n;++j){
			cin>>a[i][j];
		}
	}
	for(ll i=1;i<=n;++i){
		for(ll j=1;j<=m;++j){
			if(!a[i][j])continue;
			dp[i][j]=min(dp[i-1][j],min(dp[i][j-1],dp[i-1][j-1]))+1;
		}
	}
	ll ans=0;
	for(ll i=1;i<=n;++i){
		for(ll j=1;j<=m;++j){
			ans=max(ans,dp[i][j]);
		}
	}
	cout<<ans<<endl;
	return 0;
}
2025/1/15 09:06
加载中...