ykx1926 @ 2024-10-26 21:25:29
#include<bits/stdc++.h>
using namespace std;
char a[1010][1010];
int t,n,m,k,x,y,d,b,cs;
int fx[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int main()
{
cin>>t;
for(int tt=0;tt<t;tt++){
cin>>n>>m>>k>>x>>y>>d;
for(int i=0;i<=n+1;i++){
for(int j=0;j<=m+1;j++){
if(i==0||i>n||j==0||j>m){
a[i][j]='x';
continue;
}
cin>>a[i][j];
}
}
cs=0;
a[x][y]='a';
cs++;
b=0;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;j++){
if(b==k) break;
if(a[x+fx[d][0]][y+fx[d][1]]=='x'){
d=(d+1)%4;//转向
b++;
continue;
}
if(a[x+fx[d][0]][y+fx[d][1]]=='.'){
a[x][y]='a';
x=x+fx[d][0];
y=y+fx[d][1];
cs++;
b++;
continue;
}
if(a[x+fx[d][0]][y+fx[d][1]]=='a'){
x=x+fx[d][0];
y=y+fx[d][1];
b++;
continue;
}
}
}
cout<<cs<<endl;
}
return 0;
}