Pagini recente » Cod sursa (job #911130) | Cod sursa (job #24178) | Cod sursa (job #462264) | Cod sursa (job #52236) | Cod sursa (job #254302)
Cod sursa(job #254302)
#include<fstream>
using namespace std;
#define N 100001
ifstream f("kdrum.in");
ofstream g("kdrum.out");
unsigned long a[50][50],x1,y1,x2,y2;
int n,m,k,i,j,p;
int dx[4]={-1,1,-1,1};
int dy[4]={-1,1,-1,1};
void citire()
{
f>>n>>m>>k;
f>>x1>>y1>>x2>>y2;
for(i=1;i<=n;i++) for(j=1;j<=m;j++) f>>a[i][j];
f.close();
}
void bord()
{
for (i=0;i<=n+1;i++) a[i][0]=a[i][m+1]=1;
for (i=0;i<=m+1;i++) a[0][i]=a[n+1][i]=1;
}
void cauta(int x, int y)
{
a[x][y]=2;
if(x!=x2 || y!=y2)
for(int dir=1;dir<=4;dir++)
if(!a[x+dx[dir]][y+dy[dir]]) cauta(x+dx[dir], y+dy[dir]);
else p++;
a[x][y]=0;
}
int main()
{
citire();
bord();
cauta(x1,y1);
g<<p;
g.close();
return 0;
}