WA求助
查看原帖
WA求助
1371337
Cyf0511楼主2024/10/27 16:25
#include<bits/stdc++.h>
#define N 1005
using namespace std;
int n,m,T,x,y,d,ans,k;
bool f[N][N];
char a[N][N];
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d%d%d%d%d",&n,&m,&k,&x,&y,&d);
		for(int i=1;i<=n;i++)
		    for(int j=1;j<=m;j++)
		        cin>>a[i][j];
		memset(f,false,sizeof f);
		ans=0;
		f[x][y]=true;
		for(int i=1;i<=k;i++)
		{
			if(d==0)
			{
				if(a[x][y+1]=='.'&&y+1<=m)
				    f[x][++y]=true;
				else
				    d=(d+1)%4;
				continue;
			}
			if(d==1)
			{
				if(a[x+1][y]=='.'&&x+1<=n)
				    f[++x][y]=true;
				else
				    d=(d+1)%4;
				continue;
			}
			if(d==2)
			{
				if(a[x][y-1]=='.'&&y-1>=1)
				    f[x][--y]=true;
				else
				    d=(d+1)%4;
				continue;
			}
			if(d==3)
			{
				if(a[x-1][y]=='.'&&x-1>=1)
				    f[--x][y]=true;
				else
				    d=(d+1)%4;
				continue;
			}
		}
		for(int i=1;i<=n;i++)
		    for(int j=1;j<=m;j++)
		        if(!f[i][j])
		            ans++;
		printf("%d\n",ans);
	}
	return 0;
}

求调

2024/10/27 16:25
加载中...