大佬们,60pts
查看原帖
大佬们,60pts
661913
liwenxi1145144444楼主2022/12/28 16:36
#include<bits/stdc++.h>
using namespace std;
int mapp[101][101];
int n,m,ans;
void dfs(int x,int y,int step){
	if(x+step>n||y+step>m){
		return ;
	}
    for(int i=x;i<=x+step;i++){
    	if(mapp[i][y]==0){
    		ans=max(ans,step);
    		return ;
		}
	}
    for(int j=y;j<=y+step;j++){
    	if(mapp[x][j]==0){
    		ans=max(ans,step);
    		return ;
		}
	}
    dfs(x,y,step+1);
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=m;j++){
        	cin>>mapp[i][j];
		}
	}
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=m;j++){
        	if(mapp[i][j]==1){
                dfs(i,j,0);
            }
		}
	}
    cout<<ans;
    return 0;
}
2022/12/28 16:36
加载中...