Pagini recente » training_1 | Cod sursa (job #1148041) | Cod sursa (job #2236267) | Cod sursa (job #1494820) | Cod sursa (job #3276675)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ddd.in");
ofstream fout("ddd.out");
int n, m, a[203][203], b[203][203], maxx;
char s[203];
int main()
{
int i, j, ip, jp, l, x, y;
fin >> n >> m;
for (i = 1; i <= n; i++)
{
fin >> s;
for (j = 1; j <= m; j++)
a[i][j] = s[j-1] - '0';
}
for (j = 1; j <= m; j++)
for (i = n; i >= 1; i--)
if (a[i][j] == 0) a[i][j] = 1 + a[i+1][j];
else a[i][j] = 0;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= m; j++)
fout << a[i][j] << " ";
fout << "\n";
}
for (i = 1; i <= n; i++)
for (j = m; j >= 1; j--)
{
if (a[i][j] != 0) b[i][j] = 1 + b[i][j+1];
if (a[i][j] * b[i][j] > maxx)
{
ip = i;
jp = j;
maxx = a[i][j] * b[i][j];
y = a[i][j];
x = b[i][j];
}
}
cout << x << " " << y;
for (i = ip; x >= 1; x--, i++)
{
for (j = jp, l = y; l >= 1; l--, j++)
a[i][j] = b[i][j] = 0;
}
//for (i = 1; i <= n; i++)
//for (j = 1; j <= m; j++)
for (i = 1; i <= n; i++)
{
for (j = 1; j <= m; j++)
fout << b[i][j] << " ";
fout << "\n";
}
return 0;
}