代码如下:
#include <bits/stdc++.h>
using namespace std;
int main(){
//freopen("explore.in","r",stdin);
//freopen("explore.out","w",stdout);
int t;
cin>>t;
while(t--){
int n,m,k,x,y,d,cnt=1;
cin>>n>>m>>k>>x>>y>>d;
int a[1001][1001]={},vis[1001][1001]={};
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char c;
cin>>c;
if(c=='x') a[i][j]=1;
}
}
for(int i=1;i<=k;i++){
if(x<=0 || x>n || y<=0 || y>m || a[x][y]==1) d=(d+1)%4;
if(d==0){
if(a[x][y+1]==0 && x<=n && x>0 && y<=m && y>0) y++;
else d=(d+1)%4;
}
if(d==1){
if(a[x+1][y]==0 && x<=n && x>0 && y<=m && y>0) x++;
else d=(d+1)%4;
}
if(d==2){
if(a[x][y-1]==0 && x<=n && x>0 && y<=m && y>0) y--;
else d=(d+1)%4;
}
if(d==3){
if(a[x-1][y]==0 && x<=n && x>0 && y<=m && y>0) x--;
else d=(d+1)%4;
}
if(a[x][y]==0 && x<=n && x>0 && y<=m && y>0 && vis[x][y]==0) cnt++,vis[x][y]=1;
}
cout<<cnt<<endl;
}
return 0;
}
那位大神能帮我看一下?谢谢!