2 条题解
-
1倪溢阳@明伦 (绝艺) LV 8 @ 2021-02-08 15:02:46
动态规划awa
老师出的题还得学生来AC
code:
#include<iostream>
#include<algorithm>using namespace std;
const int Maxn = 1e4+5;
bool data[Maxn][Maxn];
int tmp[Maxn][Maxn];
int l[Maxn][Maxn],r[Maxn][Maxn];
int n,m;
int num1=0,num2=0;
int maxn=0;
void isLand();int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>data[i][j];
isLand();
cout<<maxn<<endl;
return 0;
}
void isLand()
{
for(int i=0;i<n;i++)
{
num1=-1,num2=m;
for(int j=0;j<m;j++)
{
if(!data[i][j])
{
tmp[i][j]=0;
l[i][j]=0;
num1=j;
}
else
{
if(i==0)
{
tmp[i][j]=1;
l[i][j]=num1+1;
}
else
{
tmp[i][j]=tmp[i-1][j]+1;
l[i][j]=max(num1+1,l[i-1][j]);
}
}
}
for(int j=m-1;j>=0;j--)
{
if(!data[i][j])
{
r[i][j]=m;
num2=j;
}
else
{
if(i==0)
r[i][j]=num2-1;
else
r[i][j]=min(num2-1,r[i-1][j]);
}
maxn=max(maxn,tmp[i][j]*(r[i][j]-l[i][j]+1));
}
}
} -
-12021-03-13 13:50:57@
#include<iostream>
#include<algorithm>using namespace std;
const int Maxn = 1e4+5;
bool data[Maxn][Maxn];
int tmp[Maxn][Maxn];
int l[Maxn][Maxn],r[Maxn][Maxn];
int n,m;
int num1=0,num2=0;
int maxn=0;
void isLand();int main()
{
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>data[i][j];
isLand();
cout<<maxn<<endl;
return 0;
}
void isLand()
{
for(int i=0;i<n;i++)
{
num1=-1,num2=m;
for(int j=0;j<m;j++)
{
if(!data[i][j])
{
tmp[i][j]=0;
l[i][j]=0;
num1=j;
}
else
{
if(i==0)
{
tmp[i][j]=1;
l[i][j]=num1+1;
}
else
{
tmp[i][j]=tmp[i-1][j]+1;
l[i][j]=max(num1+1,l[i-1][j]);
}
}
}
for(int j=m-1;j>=0;j--)
{
if(!data[i][j])
{
r[i][j]=m;
num2=j;
}
else
{
if(i==0)
r[i][j]=num2-1;
else
r[i][j]=min(num2-1,r[i-1][j]);
}
maxn=max(maxn,tmp[i][j]*(r[i][j]-l[i][j]+1));
}
}
}
- 1
信息
- 难度
- 7
- 分类
- (无)
- 标签
- (无)
- 递交数
- 36
- 已通过
- 8
- 通过率
- 22%
- 被复制
- 5
- 上传者