70分,前三个测试点WA了求大神帮忙
查看原帖
70分,前三个测试点WA了求大神帮忙
1300669
zhouzhaoyan1楼主2024/11/1 15:36
#include <bits/stdc++.h>
using namespace std;
char a[1010][1010];
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int n,m,k,x,y,d,z=0;
		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];
			}
		}
		while(k--)
		{
			if(d==0)
			{
				if(x<=n&&y+1<=m&&x>=1&&y+1>=1&&a[x][y+1]!='x')
				{
					a[x][y]='1';
					y+=1;
					a[x][y]='1';
				}
				else
				{
					d+=1;
					d%=4;
				}
			}
			else if(d==1)
			{
				if(x+1<=n&&y<=m&&x+1>=1&&y>=1&&a[x+1][y]!='x')
				{
					a[x][y]='1';
					x+=1;
					a[x][y]='1';
				}
				else
				{
					d+=1;
					d%=4;
				}
			}
			else if(d==2)
			{
				if(x<=n&&y-1<=m&&x>=1&&y-1>=1&&a[x][y-1]!='x')
				{
					a[x][y]='1';
					y-=1;
					a[x][y]='1';
				}
				else
				{
					d+=1;
					d%=4;
				}
			}
			else if(d==3)
			{
				if(x-1<=n&&y<=m&&x-1>=1&&y>=1&&a[x-1][y]!='x')
				{
					a[x][y]='1';
					x-=1;
					a[x][y]='1';
				}
				else
				{
					d+=1;
					d%=4;
				}
			}
		}
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				if(a[i][j]=='1')
				{
					z++;
				}
			}
		}
		cout<<z<<endl;
	}
	return 0;
}
2024/11/1 15:36
加载中...