#include #include #include #include using namespace std; int H,W,K,L,R; string S[500]; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; string dir="RDLU"; int dist[2][500][500]; string f(int t,int i,int j) { string ret=""; while(dist[t][i][j]>0) { for(int r=0;r<4;r++) { if(t==0) { int x=i-dx[r],y=j-dy[r]; if(x>=0&&y>=0&&x=0&&y>=0&&x>H>>W>>K>>L>>R;L--; for(int i=0;i>S[i]; if((R-L)%2==1) { cout<<"No"< >Q; if(t==0) { dist[t][0][0]=0; Q.push(make_pair(0,0)); } else { dist[t][H-1][W-1]=0; Q.push(make_pair(H-1,W-1)); } while(!Q.empty()) { int x=Q.front().first,y=Q.front().second; Q.pop(); for(int r=0;r<4;r++) { int tx=x+dx[r],ty=y+dy[r]; if(tx<0||ty<0||tx>=H||ty>=W||S[tx][ty]=='#'||dist[t][tx][ty]<=dist[t][x][y]+1)continue; dist[t][tx][ty]=dist[t][x][y]+1; Q.push(make_pair(tx,ty)); } } } for(int i=0;i0&&i+10&&j+1