Pagini recente »
Monitorul de evaluare
|
Monitorul de evaluare
|
Cod sursă (job #252336)
Cod sursă (job
#252336)
#include<fstream>
using namespace std;
ifstream f("fotografie.in");
ofstream g("fotografie.out");
int n,m,a[101][101],nr;
int dx[8]={-1,-1,-1,0,1,1,1,0};
int dy[8]={-1,0,1,1,1,1,-1,-1};
void citire()
{
f>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
f>>a[i][j];
}
int verif(int x,int y)
{
if(x> 0 and x<=n and y>0 and y<=m and a[x][y]==-1)
return 1; return 0;
}
void btr(int x,int y,int k)
{
for(int i=0;i<8;++i)
{
int x1=x+dx[i];
int y1=y+dy[i];
if(verif(x1,y1))
{
a[x1][y1]=k;
btr(x1,y1,k);
}
}
}
int main()
{
citire();
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
if( a[i][j]==-1)
{
nr++;
btr(i,j,nr);
}
g<<nr;
g.close();
return 0;
}