思路

模拟一下过程即可,注意所有的导向板只会被触发一次,哪怕方向和触发板相同,也会触发只是不计数,但板子之后还是不能用了

小车发射器发射完小车就会消失,不会影响小车的后续运动,所以在小车运动过程中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;
}