rt,#15 #18 wa了,不知道为什么,求指正。
#include<bits/stdc++.h>
#define reg register ll
#define ll long long
#define ull unsigned long long
using namespace std;
template <typename T> inline void read(T &x){
x=0;
char c=getchar();bool flg=0;
for(;!isdigit(c);c=getchar()){if(c=='-'){flg=1;}}
for(;isdigit(c);c=getchar()){x=(x<<1)+(x<<3)+c-'0';}
if(flg){x=-x;}
}
template<typename T> inline void write(T &x){
char F[200];
register T cnt=0,tmp=x>0?x:-x;
if(tmp==0){putchar('0');return;}
if(x<0){putchar('-');}
while(tmp>0){
F[cnt++]=tmp%10+'0';
tmp/=10;
}
while(cnt>0){putchar(F[--cnt]);}
}
struct drone{
int x,y,z,h,f,atk,def,mat,mdf,hp,fix,id;
string s;
}f[205];
int n,t;
int dx[8][5]={{0,1,1,1,0},{0,1,1,1,0},{0,0,0,0,0},{0,-1,-1,-1,0},{0,-1,-1,-1,0},{0,-1,-1,-1,0},{0,0,0,0,0},{0,1,1,1,0}};
int dy[8][5]={{0,0,0,0,0},{0,1,1,1,0},{0,1,1,1,0},{0,1,1,1,0},{0,0,0,0,0},{0,-1,-1,-1,0},{0,-1,-1,-1,0},{0,-1,-1,-1,0}};
int dz[8][5]={{-1,-1,0,1,1},{-1,-1,0,1,1},{-1,-1,0,1,1},{-1,-1,0,1,1},{-1,-1,0,1,1},{-1,-1,0,1,1},{-1,-1,0,1,1},{-1,-1,0,1,1}};
int main(){
read(n),read(t);
for(reg i=1;i<=n;i++){
read(f[i].x),read(f[i].y),read(f[i].z);
read(f[i].h),read(f[i].f);
read(f[i].atk),read(f[i].def),read(f[i].mat),read(f[i].mdf),read(f[i].hp),read(f[i].fix);
cin>>f[i].s;
f[i].id=i;
}
for(reg i=1;i<=t;i++){
for(reg j=1;j<=n;j++){
if(f[j].hp>0){
f[j].x+=dx[f[j].f][f[j].h],f[j].y+=dy[f[j].f][f[j].h],f[j].z+=dz[f[j].f][f[j].h];
}
}
for(reg j=1;j<=n;j++){
if(f[j].hp<=0){continue;}
char c=f[j].s[i-1];
if(c=='N'){continue;}
if(c=='U'){if(f[j].h<4){f[j].h++;}}
if(c=='D'){if(f[j].h>0){f[j].h--;}}
if(c=='L'){
f[j].f++;
if(f[j].f>7){f[j].f=0;}
}
if(c=='R'){
f[j].f--;
if(f[j].f<0){f[j].f=7;}
}
if(c=='F'){f[j].hp+=f[j].fix;}
if(c=='A'){
bool flag=false;
for(reg k=1;k<=100;k++){
for(reg v=1;v<=n;v++){
if(f[j].x+dx[f[j].f][f[j].h]*k==f[v].x&&f[j].y+dy[f[j].f][f[j].h]*k==f[v].y&&f[j].z+dz[f[j].f][f[j].h]*k==f[v].z&&f[v].hp!=0){
if(f[j].atk>f[v].def){f[v].hp-=(f[j].atk-f[v].def);}
flag=true;
break;
}
}
if(flag){break;}
}
}
if(c=='M'){
for(reg k=1;k<=100;k++)
for(reg v=1;v<=n;v++){
if(f[j].x+dx[f[j].f][f[j].h]*k==f[v].x&&f[j].y+dy[f[j].f][f[j].h]*k==f[v].y&&f[j].z+dz[f[j].f][f[j].h]*k==f[v].z){
if(f[j].mat>f[v].mdf){f[v].hp-=(f[j].mat-f[v].mdf);}
}
}
}
}
}
for(reg i=1;i<=n;i++){
write(f[i].x),putchar(' '),write(f[i].y),putchar(' '),write(f[i].z),putchar(' ');
if(f[i].hp<=0){puts("0");}
else{write(f[i].hp),putchar('\n');}
}
return 0;
}