#include #include #define maxn 20 char map[maxn][maxn]; bool aim[maxn][maxn]; bool complete; int dirx[4]={-1,1,0,0},diry[4]={0,0,-1,1}; int startx,starty; int n,m; void run(char *s) { for(;*s;s++) { int dir; if(*s=='U') dir=0; else if(*s=='D') dir=1; else if(*s=='L') dir=2; else dir=3; int tx=startx+dirx[dir],ty=starty+diry[dir]; if(map[tx][ty]!='#') { int nextx=tx+dirx[dir],nexty=ty+diry[dir]; bool flag=false; if(map[tx][ty]=='b'&&map[nextx][nexty]!='b'&&map[nextx][nexty]!='#') { map[tx][ty]='w'; map[nextx][nexty]='b'; map[startx][starty]='.'; startx=tx,starty=ty; flag=true; } else if(map[tx][ty]=='.'||map[tx][ty]=='+') { map[tx][ty]='w'; map[startx][starty]='.'; startx=tx,starty=ty; } if(flag) { int t1=0,t2=0; for(int i=0;i