Start: Jun, 05, 2019 13:00:00
2019春ACM通识课考试(第一场)
End: Jun, 05, 2019 16:00:00
Time elapsed:
Time remaining:

Problem_ID: G
Result: Accepted
Time: 26ms
Memory: 1716kB
Author: 2018212212161
In contest: 1269

#include<bits/stdc++.h>
#define ll long long 
using namespace std;

const int maxn=105;
const int inf=0x3f3f3f3f;

int main()
{
	int T;
	scanf("%d",&T);
	char a[105][105];
	while(T--)
	{
		int f=0;
		int m,n;
	//	int q=-1;
		scanf("%d %d",&m,&n);
		for(int i=0;i<m;i++)
		{
			scanf("%s",a[i]);
		}
		int x,y,w;
		scanf("%d %d %d",&x,&y,&w);
		string b;
		cin>>b;
	/*	for(int i=0;i<m;i++)
		{
			cout<<a[i]<<"***"<<endl;
		}*/
		if(b=="R")
		{
			while(y<n-1)
			{
				y++;
				if(a[x][y]=='#')
				{
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
			}
		}
		else if(b=="L")
		{
			while(y>0)
			{
				y--;
				if(a[x][y]=='#')
				{
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
			}
		}
		else if(b=="U")
		{
			while(x>0)
			{
				x--;
				if(a[x][y]=='#')
				{
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
				//x--;
			}
		}
		else if(b=="D")
		{
			while(x<m-1)
			{
				x++;
				if(a[x][y]=='#')
				{
					//x++;
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
			//	x++;
			}
		}
		else if(b=="LU")
		{
			while(y>0&&x>0)
			{
			//	q++;
				y--,x--;
				if(a[x][y]=='#')
				{
				//	y--,x--;
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
			///	y--,x--;
			}
		}
		else if(b=="LD")
		{
			while(y>0&&x<m-1)
			{
				y--,x++;
				if(a[x][y]=='#')
				{
			//		y--,x++;
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
			//	y--,x++;
			}
		}
		else if(b=="RU")
		{
			while(y<n-1&&x>0)
			{
				y++,x--;
				if(a[x][y]=='#')
				{
			//		y++,x--;
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
		//		y++,x--;
			}
		}
		else if(b=="RD")
		{
			while(y<n-1&&x<m-1)
			{
				x++,y++;
				if(a[x][y]=='#')
				{
			//		y++,x++;
					break;
				}
				int ww=a[x][y]-'0';
				if(w>ww)
				{
					f=1;
					break;
				}
		//		y++,x++;
			}
		}
		cout<<f<<endl;
	}
}