995
查看原帖
995
1374514
love_shuo_lsaac楼主2024/11/8 21:16
#include <bits/stdc++.h>
using namespace std;
int dx[]={0,1,0,-1},dy[]={1,0,-1,0};
int vis[1005] [1005];
char a[1005] [1005];
int main() {
	int t,n,m,k,d,x,y,nx,ny,cnt;
	cin>>t;
	while(t--) {
		cnt=1;
		cin>>n>>m>>k;
		cin>>x>>y>>d;
		for(int i=1;i<=n;i++) {
			for(int j=1;j<=m;j++) {
				cin>>a[i][j];
				vis[i][j]=0;
			}
		}
		vis[x][y]=1;
		for(int i=1;i<=k;i++) {
			x+=dx[d];
			y+=dy[d];
			if(x<=n && y<=m && a[x][y]=='.' && x>0 && y>0){
				if(vis[x][y]==0) {
					cnt++;
					vis[x][y]=1;}
				else {
					x-=dx[d];
					y-=dy[d];
				}
			}
			else {
				x-=dx[d];
				y-=dy[d];
				d=(d+1)%4;
			}
		}
		cout<<cnt<<endl;
	}
	
}

50pts,995

2024/11/8 21:16
加载中...