Pagini recente » Cod sursa (job #1831555) | Cod sursa (job #3292184) | Cod sursa (job #3234162) | Cod sursa (job #1398363) | Cod sursa (job #2135538)
#include <fstream>
using namespace std;
ifstream f("castel.in");
ofstream g("castel.out");
int main()
{
int m, n, k, i, cheie[30000], cont;
bool camere[30000], modif;
f>>m>>n>>k;
for (i=1; i<=(n*m); i++)
{
f>>cheie[i];
camere[i]=0;
}
camere[k]=1;
modif=1;
cont=1;
while (modif)
{
modif=0;
for (i=1; i<=(n*m); i++)
if (camere[i])
{
if (((i-n)>0)&&(camere[cheie[i-n]])&&(camere[i-n]==0))
{
camere[i-n]=1;
modif=1;
cont++;
}
if (((i+n)<=(n*m))&&(camere[cheie[i+n]])&&(camere[i+n]==0))
{
camere[i+n]=1;
modif=1;
cont++;
}
if ((i>1)&&(((i-1)%n)!=0)&&(camere[cheie[i-1]])&&(camere[i-1]==0))
{
camere[i-1]=1;
modif=1;
cont++;
}
if (((i+1)<=(n*m))&&(((i+1)%n)!=1)&&(camere[cheie[i+1]])&&(camere[i+1]==0))
{
camere[i+1]=1;
modif=1;
cont++;
}
}
}
g<<cont;
return 0;
}