向我79分的初赛致敬
2025-08-10 16:01:33
发布于:浙江
15阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int main(){
int t;cin>>t;
while(t--){
int n,m,k;cin>>n>>m>>k;
int x,y,d;cin>>x>>y>>d;
char a[1005][1005];
int vis[1005][1005];
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
vis[i][j]=0;
}
}
int ans=1;vis[x][y]=1;
//cout<<x<<" "<<y<<endl;
while(k--){
int nx=x+dir[d][0];int ny=y+dir[d][1];
//cout<<d<<" "<<x<<" "<<ny<<endl;
if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&a[nx][ny]=='.'){
if(vis[nx][ny]==0){ans++;vis[nx][ny]=1;}x=nx;y=ny;
}
else{d=(d+1)%4;}
}
cout<<ans<<endl;
}
}
这里空空如也
有帮助,赞一个