Cod sursa(job #3276675)

Utilizator crina2120Arnautu Cristina-Crina crina2120 Data 14 februarie 2025 08:47:37
Problema BMatrix Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.38 kb
#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;
}