Pagini recente » Cod sursa (job #543453) | Cod sursa (job #31885) | Cod sursa (job #1563161) | Cod sursa (job #2586124) | Cod sursa (job #191032)
Cod sursa(job #191032)
#include <stdio.h>
#define N 512
char ch,mat[N][N];
int main()
{
int min,p,rez=0,rez2=0,nr,n,m,i,j,h;
freopen("bmatrix.in", "r",stdin);
freopen("bmatrix.out", "w",stdout);
scanf("%d%d\n", &n,&m);
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
{
scanf("%c", &ch);
if(ch=='0')
mat[i][j]=1;
else
mat[i][j]=0;
}
scanf("%c", &ch);
}
/*for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
printf("%d ",mat[i][j]);
printf("\n");
}*/
for(j=1;j<=m;++j)
{
nr=0;
for(i=1;i<=n;++i)
if(mat[i][j]==1)
mat[i][j]=++nr;
else
{
mat[i][j]=0;
nr=0;
}
}
for(i=1;i<=n;++i)
for(h=1;h<=m;++h)
{
nr=0; min=mat[i][h];
for(j=h;j<=m;++j)
{
++nr;
if(mat[i][j]<min)
min=mat[i][j];
if(!mat[i][j])
{
min=3;
nr=0;
}
p=min*nr;
//printf(" %d %d %d %d\n",p,i,j,min);
if(p>rez)
{
rez2=rez;
rez=p;
}
}
}
//for(i=1;i<=n;++i)
//{
// printf("\n");
// for(j=1;j<=m;++j)
// printf(" %d", mat[i][j]);
//}
printf("%d\n", rez+rez2);
return 0;
}