Cod sursa(job #2068547)

Utilizator andrei2000mAndrei Moldoveanu andrei2000m Data 18 noiembrie 2017 08:52:09
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <queue>

using namespace std;
ifstream f("alee.in");
ofstream g("alee.out");
int a[102][102],n,m;
int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};
struct coord{int x,y;}z,t;
queue <coord> q;
void bordare(int n)
{
    int i;
    for (i=0;i<=n+1;i++)
        a[i][0]=a[i][n+1]=a[0][i]=a[n+1][i]=-1;
}
void lee()
{   int xx,yy,i;
    while(!q.empty())
    {
        z=q.front();
        for (i=0;i<4;i++)
        {
            xx=z.x+dx[i];
            yy=z.y+dy[i];
            if(a[xx][yy]==0)
            {
                a[xx][yy]=a[z.x][z.y]+1;
                t.x=xx;t.y=yy;
                q.push(t);
            }
        }
     q.pop();
    }
}
int main()
{   int i,j;
    char c;
    f>>n>>m;
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++)
    {
        f>>c;
        a[i][j]=c-48;
    }
    bordare(n);
    lee();
    return 0;
}