Pagini recente » Cod sursa (job #135305) | Cod sursa (job #1611902) | Cod sursa (job #1793877) | Cod sursa (job #1654206) | Cod sursa (job #3172724)
#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
*/