没那么复杂,ac代码
查看原帖
没那么复杂,ac代码
735407
yckani楼主2024/10/29 09:34
#include<bits/stdc++.h>
using namespace std;
char a[1005][1005];
int f[1005][1005];
int main()
{
	int t,n,m,k,x,y,d,ans,ny,nx;
	cin>>t;
	while(t--)
	{
		ans=1;
		memset(f,0,sizeof(f));
		memset(a,0,sizeof(a));
		cin>>n>>m>>k;
		cin>>x>>y>>d;
		for(int i=1;i<=n;i++) cin>>a[i];
		f[x][y]=1;
		while(k--)
		{
			ny=y,nx=x;
			if(d==0) ny++;
			if(d==1) nx++;
			if(d==2) ny--;
			if(d==3) nx--;
			if(nx>=1 && nx<=n && ny>=1 && ny<=m && a[nx][ny-1]=='.')
			{
					x=nx,y=ny;
					if(f[nx][ny]==0) f[nx][ny]=1,ans++;					
			}
			else
			{
				d=(d+1)%4;
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
2024/10/29 09:34
加载中...