Cod sursa(job #3172724)

Utilizator maftenoMaftei Alex-Cristian mafteno Data 21 noiembrie 2023 09:42:22
Problema Litere Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <bits/stdc++.h>
using namespace std;

int a[105][105], n, m;
int nrOb, t[5005], cnt;
/// t[i] = dimensiunea obiectului i
ifstream fin("fill.in");
ofstream fout("fill.out");
void Citire()
{
    fin >> n >> m;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            fin >> a[i][j];
}

void Fill_2(int i, int j)
{
    a[i][j] = 0;
    if (a[i - 1][j] == 1) Fill_2(i - 1, j);
    if (a[i + 1][j] == 1) Fill_2(i + 1, j);
    if (a[i][j - 1] == 1) Fill_2(i, j - 1);
    if (a[i][j + 1] == 1) Fill_2(i, j + 1);
}

void Rezolvare()
{
    int i, j;
    for (i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            if (a[i][j] == 1)
            {
                nrOb++;
                Fill_2(i, j);
            }
}

void Afisare()
{
    int i, M = 0;
    /// a
    fout << nrOb << "\n";
}

int main()
{
    Citire();
    Rezolvare();
    Afisare();
    return 0;
}

/**
5 7
0 0 1 1 0 1 0
1 0 0 1 1 1 0
0 1 0 0 0 0 0
1 1 1 1 0 0 1
1 1 0 1 0 1 1

*/