Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <string.h>
- using namespace std;
- int main()
- {
- ifstream f("date.in");
- ofstream g("date.out");
- int N,K,i,j,dl[]={-1,0,1,0},dc[]={0,1,0,-1},lc,cc,nr_pasi;
- f>>N>>K;
- int etaj[N+1][N+1],pasi[N+1][N+1];
- for(i=1;i<=N;i++)
- {
- for(j=1;j<=N;j++)
- {
- f>>etaj[i][j];
- if(etaj[i][j]!=0)
- pasi[i][j]=0;
- if(etaj[i][j]==0)
- pasi[i][j]=1;
- }
- }
- for(i=0;i<=N+1;i++)
- {
- pasi[0][i]=-1;
- pasi[N+1][i]=-1;
- pasi[i][0]=-1;
- pasi[i][N+1]=-1;
- }
- struct coada{int l,c;};;
- struct nod{ coada inf;
- nod *urm;};
- nod *p,*u,*q;
- p=u=NULL;
- p=new nod;
- p->inf.l=1;
- p->inf.c=1;
- p->urm=NULL;
- u=p;
- pasi[1][1]=1;
- while(p<=u&&pasi[N][N]==0)
- {
- for(i=0;i<=3;i++)
- {
- lc=p->inf.l+dl[i];
- cc=p->inf.c+dc[i];
- if(pasi[lc][cc]==0)
- {
- q=new nod;
- q->inf.l=lc;
- q->inf.c=cc;
- q->urm=NULL;
- u->urm=q;
- u=q;
- pasi[lc][cc]=pasi[p->inf.l][p->inf.c]+1;
- }
- }
- p=p->urm;
- }
- nr_pasi=pasi[N][N];
- g<<nr_pasi;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement