Cod sursa(job #127187)

Utilizator za_wolfpalianos cristian za_wolf Data 23 ianuarie 2008 16:11:06
Problema Barbar Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#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;
}