大佬救命
#include <iostream>
#include <cstdio>
using namespace std;
int T,n,m,i,j,t,w,xx,yy,tt,x[3000],y[3000];
char s[10],c[100][100];
int main(){
scanf("%d%d",&n,&m);
for(i=0;i<=n+1;i++)
for(j=0;j<=m+1;j++)
c[i][j]='X';
for(i=1;i<=n;i++) scanf("%s",c[i]+1);
scanf("%d",&T);
t=w=1;
while(T--){
tt=w;
scanf("%s",s);
while(t<=tt){
for(i=1;i<=max(n,m);i++){
xx=x[t];yy=y[t];
if(s[0]=='N') xx=x[t]-i;
if(s[0]=='W') yy=y[t]-i;
if(s[0]=='S') xx=x[t]+i;
if(s[0]=='E') yy=y[t]+i;
if(c[xx][yy]=='X') break;
w++;
x[w]=xx;y[w]=yy;
}
t++;
}
}
for(i=t;i<=w;i++) c[x[i]][y[i]]='*';
for(i=1;i<=n;i++) printf("%s",c[i]);
return 0;
}