Răspuns :
Răspuns:
Explicație:
#include <fstream>
using namespace std;
ifstream in("zona3.in");
ofstream out("zona3.out");
int a[101][101],n,m,s;
void Fill(int i,int j)
{
if(a[i][j]==-1)
{
a[i][j]=1;
s++;
Fill(i-1,j);
Fill(i,j+1);
Fill(i+1,j);
Fill(i,j-1);
}
}
void Fill2(int i,int j)
{
if(a[i][j]==1)
{
a[i][j]=s;
Fill2(i-1,j);
Fill2(i,j+1);
Fill2(i+1,j);
Fill2(i,j-1);
}
}
int main()
{
in>>n>>m;
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
in>>a[i][j];
a[i][j]=-a[i][j];
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[i][j]==-1)
{
s=0;
Fill(i,j);
Fill2(i,j);
}
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
out<<a[i][j]<<" ";
out<<endl;
}
return 0;
}
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.