j-T2为啥70分
  • 板块灌水区
  • 楼主little_stickman
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/10/26 22:18
  • 上次更新2024/10/26 23:07:57
查看原帖
j-T2为啥70分
1265459
little_stickman楼主2024/10/26 22:18
#include <bits/stdc++.h>
using namespace std;
int T;
long long n,m,d,k,x,y,ans=0;
char a[1001][1001];
long long i,j,b[1001][1001]={0,0};
int main()
{
	cin>>T;
	while(T--)
	{
		ans=0;
		cin>>n>>m>>k;
		cin>>x>>y>>d;
		for(i=1;i<=n;i++)
			for(j=1;j<=m;j++)
				b[i][j]=0;
		for(i=1;i<=n;i++)
			for(j=1;j<=m;j++)
				cin>>a[i][j];
		b[x][y]=1;
		while(k--)
		{
			if(d==0)
			{
				if(a[x][y+1]=='.')
				{
					y++;
					b[x][y]=1;
				}
				else
					d=(d+1)%4;
				continue;
			}
			if(d==1)
			{
				if(a[x+1][y]=='.')
				{
					x++;
					b[x][y]=1;
				}
				else
					d=(d+1)%4;
				continue;
			}
			if(d==2)
			{
				if(a[x][y-1]=='.')
				{
					y--;
					b[x][y]=1;
				}
				else
					d=(d+1)%4;
				continue;
			}
			if(d==3)
			{
				if(a[x-1][y]=='.')
				{
					x--;
					b[x][y]=1;
				}
				else
					d=(d+1)%4;
				continue;
			}
		}
		for(i=1;i<=n;i++)
			for(j=1;j<=m;j++)
				if(b[i][j]!=0)
					ans++;
		cout<<ans<<"\n";
	}
 } 
2024/10/26 22:18
加载中...