Result: Accepted
Time: 26ms
Memory: 1716kB
#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;
}
}