- #include<iostream>
- #include<algorithm>
- #include<cstdio>
- #include<set>
- using namespace std;
- int map[101][101];
- int n, m;
- int sum,shang=0,xia=0,zuo=0,you=0;
- char fh;
- void f(int q1,int q2,int sum,char c)
- {
- if(sum==0){
- cout<<q1<<" "<<q2;
- return;
- }
- else{
- if(map[q1][q2]==1){
- map[q1][q2]=0;
- if(c=='U')
- f(q1,q2+1,sum-1,'R');
- else if(c=='D')
- f(q1,q2-1,sum-1,'L');
- else if(c=='L')
- f(q1-1,q2,sum-1,'U');
- else if(c=='R')
- f(q1+1,q2,sum-1,'D');
- }
- else
- {
- map[q1][q2]=1;
- if(c=='U')
- f(q1,q2-1,sum-1,'L');
- else if(c=='D')
- f(q1,q2+1,sum-1,'R');
- else if(c=='L')
- f(q1+1,q2,sum-1,'D');
- else if(c=='R')
- f(q1-1,q2,sum-1,'U');
- }
- }
- }
- int main()
- {
- cin>>n>>m;
- for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>map[i][j];
- int q1,q2;
- cin>>q1>>q2>>fh>>sum;
- f(q1,q2,sum,fh);
- return 0;
- }
历届试题 兰顿蚂蚁
最新推荐文章于 2022-02-24 12:34:01 发布