Pagini recente » Cod sursa (job #2943064) | Cod sursa (job #2855749) | Cod sursa (job #418614) | Cod sursa (job #1144158) | Cod sursa (job #2110176)
#include <bits/stdc++.h>
using namespace std;
ifstream f("kdrum.in");
ofstream g("kdrum.out");
struct ll {
int lin,col;
};
deque<ll> c;
int a[51][51],dl[]={1,0,-1,0},dc[]={0,1,0,-1},v[51][51],o,p;
int main()
{
int n,m,k,x1,x2,y1,y2;
f>>n>>m>>k;
f>>x1>>y1>>x2>>y2;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
f>>a[i][j];
ll xy;
xy.lin=x1;
xy.col=y1;
c.push_back(xy);
v[xy.lin][xy.col]=1;
while(!c.empty()&&v[x2][y2]==0)
{ //prim++;
ll ss;
ss=c.front();
c.pop_front();
for(k=0;k<4;k++)
if(a[ss.lin+dl[k]][ss.col+dc[k]]!=0)
{ v[ss.lin+dl[k]][ss.col+dc[k]]=v[ss.lin][ss.col]+1;
//ultim++;
o=ss.lin;
p=ss.col;
ll xy1;
xy1.lin=o+dl[k];
xy1.col=p+dc[k];
//c.col.pop_front;
c.push_back(xy1);
//c.col.push_back(p+dc[k]);
}
}
g<<v[x2][y2];
return 0;
}