Pagini recente » Cod sursa (job #1598422) | Cod sursa (job #1189913) | Cod sursa (job #2977896) | Cod sursa (job #40237) | Cod sursa (job #614997)
Cod sursa(job #614997)
#include <iostream>
#include <stdio.h>
short int Map[176][176], N, M, pi1, pi2, pj1, pj2, X, Y;
short int Qi[175 * 175 + 1],
Qj[175 * 175 + 1], pq, uq,
di[8]={-1, 0, 1, 0},
dj[8]={0, -1, 0, 1};
using namespace std;
int main()
{
int i, j;
freopen("alee.in", "r", stdin);
freopen("alee.out", "w", stdout);
cin>>N>>M;
for(i=1; i<=M; i++)
{
cin>>X>>Y;
Map[X][Y]=-1;
}
cin>>pi1>>pj1>>pi2>>pj2;
Map[pi1][pj1]=1;
Qi[pq]=pi1;
Qj[pq]=pj1;
while (pq<=uq)
{
X=Qi[pq];
Y=Qj[pq];
pq++;
for(i=0; i<4; i++)
if(Map[X+di[i]][Y+dj[i]]==0 && X+di[i]>0 && Y+dj[i]>0 && X+di[i]<=N && Y+dj[i]<=N)
{
Map[X+di[i]][Y+dj[i]]=Map[X][Y]+1;
uq++;
Qi[uq]=X+di[i];
Qj[uq]=Y+dj[i];
}
}
cout<<Map[pi2][pj2];
return 0;
}