#include<bits/stdc++.h> #include<stack> using namespace std; struct node{ stack<int>x; stack<int>y; }; int x[4]={0,-1,0,1}; int y[4]={-1,0,1,0}; int a[5][5]; bool f[5][5]; void bfs(){ struct node l; l.x.push(0); l.y.push(0); queue<node>q; q.push(l); while(!q.empty()){ for(int i=0;i<4;++i){ int xx=q.front().x.top()+x[i]; int yy=q.front().y.top()+y[i]; if(xx>=0&&xx<5&&yy>=0&&yy<5&&a[xx][yy]!=1&&f[xx][yy]==false){ f[xx][yy]=true; struct node k; k.x=q.front().x; k.y=q.front().y; k.x.push(xx); k.y.push(yy); q.push(k); if(xx==4&&yy==4){ stack<int>x_r,y_r,x,y; x=k.x; y=k.y; while(!x.empty()){ x_r.push(x.top()); x.pop(); y_r.push(y.top()); y.pop(); } while(!x_r.empty()){ printf("(%d, %d)\n",x_r.top(),y_r.top()); x_r.pop(); y_r.pop(); } } } } q.pop(); } } int main(){ memset(f,false,sizeof(f)); for(int i=0;i<5;++i) for(int j=0;j<5;++j) scanf("%d",&a[i][j]); bfs(); } /* Main.cc:2:24: bits/stdc++.h: No such file or directory Main.cc: In function `void bfs()': Main.cc:17: error: `queue' undeclared (first use this function) Main.cc:17: error: (Each undeclared identifier is reported only once for each function it appears in.) Main.cc:17: error: expected primary-expression before '>' token Main.cc:17: error: `q' undeclared (first use this function) */ |
Double click to view unformatted code.