Pagini recente » Cod sursa (job #2689502) | Cod sursa (job #989245) | Cod sursa (job #780133) | Cod sursa (job #2575842) | Cod sursa (job #127187)
Cod sursa(job #127187)
#include<stdio.h>
#define NMAX 101
long x[NMAX][NMAX],y[NMAX][NMAX],z[NMAX][NMAX],i,j,k,l,n,m,a,xi,yi,xf,yf;
struct kkt
{
long X,Y,K;
};
kkt q[NMAX];
int main()
{
freopen("barbar.in","r",stdin);
freopen("barbar.out","w",stdout);
scanf("%ld%ld",&n,&m);
m--;
for (i=1;i<=n;i++)
{
for (j=0;j<=m;j++)
{
scanf("%c",c);
if (c=='D')
{
q[++sf].X=i;
q[sf].Y=j+1;
q[sf].K=0;
y[i][j+1]=2; //RASPUNSUL ESTE NU!!!!!!!!!
} else
if (c=='*')
y[i][j+1]=1;
else
{
if (c=='I') {xi=i; yi=j+1;}
if (c=='O') {xf=i;yf=j+1;}
}
}
scanf("\n");
}
in=1;
m++;
while (in<=sf)
{
for (i=0;i<=3;i++)
{
a=q[in].X+lin[i];
b=q[in].X+col[i];
if (a>=1&&a<=n&&b>=1&&b<=n&&z[a][b]==0&&y[a][b]!=1)
{
sf++;
q[sf].X=a;
q[sf].Y=b;
q[sf].K=q[in].K+1;
z[a][b]=q[sf].K;
}
}
in++;
}
return 0;
}