#include using namespace std; typedef long long int ll; #define debugv(v) printf("L%d %s => ",__LINE__,#v);for(auto e:v){cout< ",__LINE__,#m);for(int x=0;x<(w);x++){cout<<(m)[x]<<" ";}cout< ostream& operator <<(ostream &o,const pair p){o<<"("<>h>>w;cin.ignore(); for (i=0;i> q; //q.push(vector{0,sx,sy,0}); _qu[_quf][1]=sx; _qu[_quf][2]=sy; _quf++; dp[sx][sy][0]=1; int x,y,cnt,job,tx,ty;int ddd=0; while (_qub!=_quf){ //const vector &qfront = q.front(); //cnt=qfront[0]+1;x=qfront[1];y=qfront[2];job=qfront[3]; //q.pop(); cnt=_qu[_qub][0]+1;x=_qu[_qub][1];y=_qu[_qub][2];job=_qu[_qub][3]; _qub=(++_qub)>=qmax ? 0 : _qub; if (maze[y][x]=='G'){ cout<<(cnt-1)<{cnt,tx,ty,job}); _qu[_quf][0]=cnt; _qu[_quf][1]=tx; _qu[_quf][2]=ty; _qu[_quf][3]=job; _quf=(++_quf)>=qmax ? 0 : _quf; } } } cout<<-1<