#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
for(int i=1;i<=t;i++){
int a,b,k;
cin>>a>>b>>k;
char forest[a+1][b+1];
bool detect[a+1][b+1];
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
detect[i][j]=0;
}
}
int x0,y0,p0;
int x,y,p;
cin>>x0>>y0>>p0;
x=x0;
y=y0;
p=p0;
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
cin>>forest[i][j];
}
}
for(int i=1;i<=k;i++){
if(p==0){
y++;
if(y>b){
y--;
p=(p+1)%4;
continue;
}
if(forest[x][y]=='x'){
y--;
p=(p+1)%4;
continue;
}
detect[x][y]=1;
}
if(p==1){
x++;
if(x>a){
x--;
p=(p+1)%4;
continue;
}
if(forest[x][y]=='x'){
x--;
p=(p+1)%4;
continue;
}
detect[x][y]=1;
}
if(p==2){
y--;
if(y<1){
y++;
p=(p+1)%4;
continue;
}
if(forest[x][y]=='x'){
y++;
p=(p+1)%4;
continue;
}
detect[x][y]=1;
}
if(p==3){
x--;
if(x<1){
x++;
p=(p+1)%4;
continue;
}
if(forest[x][y]=='x'){
x++;
p=(p+1)%4;
continue;
}
detect[x][y]=1;
}
}
int ans=1;
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
ans+=detect[i][j];
}
}
cout<<ans<<"\n";
}
return 0;
}
50分求调
题目数据带入都是对的
但是只有50分
边界写了
不知道哪里错了