求助大佬。后面三个点wa了
查看原帖
求助大佬。后面三个点wa了
103226
BeautifulWater楼主2021/2/19 10:02
#include<iostream>
#include<stdio.h>
#include<cmath>
using namespace std;
int main()
{
	int n,m;	
	cin>>n>>m;
	int a[n+1][m+1];
	int l[n+1][m+1];
	int u[n+1][m+1];
	int dia[100][100];
	int i,j;
    for(i=1;i<=n;i++)
    {
    	for(j=1;j<=m;j++)
    	{
    		cin>>a[i][j];
		}
	}
	int len=0;
	for(i=1;i<=n;i++)
    {
    	for(j=1;j<m;j++)
    	{
    		l[i][j]=(a[i][j]==1)?l[i][j-1]+1:0;  //某点左边的连续1的最大长度 
    		u[i][j]=(a[i][j]==1)?u[i-1][j]+1:0;  //某点上边的连续1的最大长度 
    		dia[i][j]=(a[i][j]==1)?dia[i-1][j-1]+1:0;  //某点左上方的连续1的最大长度 
    		len = max(len,min(l[i][j],min(u[i][j],dia[i][j])));
		}
	}
	cout<<len;
	return 0;
	
}
2021/2/19 10:02
加载中...