0 0
#include<iostream> #include<string.h> #include<algorithm> #include<stdlib.h> using namespace std; int tex,tey; int a[100][100]; int n,m; int num; int move[4][2]={1,0,0,-1,-1,0,0,1}; void dfs(int x,int y,int l,int k) { if(num==k) { tex=x; tey=y; return; } else if(a[x][y]==0) { a[x][y]=1; l=(l+3)%4; x=x+move[l][0]; y=y+move[l][1]; dfs(x,y,l,k+1); } else if(a[x][y]==1) { a[x][y]=0; l=(l+1)%4; x=x+move[l][0]; y=y+move[l][1]; dfs(x,y,l,k+1); } return ; } int main() { int x,y; char fa; cin>>m>>n; memset(a,0,sizeof(a)); for(int i=0;i<m;i++) for(int j=0;j<n;j++) cin>>a[i][j]; cin>>x>>y>>fa>>num; switch(fa) { case 'D':dfs(x,y,0,0);break; case 'L':dfs(x,y,1,0);break; case 'U':dfs(x,y,2,0);break; case 'R':dfs(x,y,3,0);break; } cout<<tex<<" "<<tey<<endl; return 0; }