easy
2025-10-25 14:56:58
发布于:广东
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int t,n,m,k,d,x,y;
char c[1010][1010];
bool vis[1010][1010];
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
int main(){
freopen ("explore.in","r",stdin);
freopen ("explore.out","w",stdout);
cin>>t;
while(t--){
cin>>n>>m>>k;
cin>>x>>y>>d;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>c[i][j];
}
}
memset(vis,0,sizeof vis);vis[x][y]=1;
int ans=1;
for(int i=1;i<=k;i++){
int nx=x+dx[d];
int ny=y+dy[d];
if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&c[nx][ny]=='.'){
x=nx;
y=ny;
if(vis[nx][ny]==0) ans++;
vis[nx][ny]=1;
}else{
d=(d+1)%4;
}
}
cout<<ans<<endl;
}
return 0;
}
这里空空如也







有帮助,赞一个