Pagini recente » Cod sursa (job #2486560) | Cod sursa (job #2141747) | Cod sursa (job #1680045) | Cod sursa (job #849238) | Cod sursa (job #2064487)
#include <fstream>
using namespace std;
ifstream f("kdrum.in");
ofstream g("kdrum.out");
int n,m,k;
struct punct
{
int l,c;
};
punct q[505*505];
int a[505][505];
int aux[505][505];
int dx[4]= {-1,0,1,0};
int dy[4]= {0,1,0,-1};
int xx,yy,x,y;
int i,j;
int xs,ys,xf,yf;
int p,u,t;
int main()
{
f>>n>>m>>k;
f>>xs>>ys>>xf>>yf;
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
f>>a[i][j];
aux[xs][ys]=1;
p=u=1;
q[p].l=xs;
q[p].c=ys;
while(p<=u)
{
x=q[p].l;
y=q[p].c;
for(t=0; t<=3; t++)
{
xx=x+dx[t];
yy=y+dy[t];
if(a[xx][yy]!=0&&(k%a[xx][yy]==0||a[xx][yy]%k==0))
{
u++;
q[u].l=xx;
q[u].c=yy;
aux[xx][yy]=aux[x][y]+1;
}
}
p++;
}
g<<aux[xf][yf]<<'\n';
return 0;
}