思路
模拟一下过程即可,注意所有的导向板只会被触发一次,哪怕方向和触发板相同,也会触发只是不计数,但板子之后还是不能用了
小车发射器发射完小车就会消失,不会影响小车的后续运动,所以在小车运动过程中check一下是否出界即可
acocde
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=110;
char g[N][N];
int n,m,x,y,cnt;
char temp='.';
bool solve(){
if(g[x][y]!='.'){
if(g[x][y]!=temp) cnt++,temp=g[x][y];
g[x][y]='.';
}
if(temp=='D') x++;
else if(temp=='U') x--;
else if(temp=='L') y--;
else if(temp=='R') y++;
return x>=1&&x<=n&&y>=1&&y<=m;
}
int main(){
cin>>n>>m>>x>>y;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>g[i][j];
while(solve());
cout<<cnt-1<<endl;
return 0;
}