求调
查看原帖
求调
1175186
Alentiancai楼主2025/7/20 11:14
#include<bits/stdc++.h>

using namespace std;
char a[1005][1005];
bool vis[1005][1005];
int ans[1000005];
int cnt=1;
int main()
{
	int t;
	cin >> t;
	for(int i=1;i<=1000005;i++) ans[i]=1;
	while(t--)
	{
		int n,m,k,x0,y0,d0;
		cin >> n >> m >> k >> x0 >> y0 >> d0;
		memset(a,'0',sizeof(a));
		memset(vis,'0',sizeof(vis));
		for(int i=1;i<=n;i++)
			for(int j=1;j<=m;j++)
				cin >> a[i][j];
		for(int j=1;j<=k;j++)
		{
			if(d0==0)
			{
				if(y0+1>m || a[x0][y0+1]=='x')
				{
					d0=(d0+1)%4;
					continue;
				}
				y0++;
				if(vis[x0][y0]==0)
				{
					ans[cnt]++;
					vis[x0][y0]=1;
				}
			}
			if(d0==1)
			{
				if(x0+1>n|| a[x0+1][y0]=='x')
				{
					d0=(d0+1)%4;
					continue;
				}
				x0++;
				if(vis[x0][y0]==0)
				{
					ans[cnt]++;
					vis[x0][y0]=1;
				}
			}
			if(d0==2)
			{
				if(y0-1<1|| a[x0][y0-1]=='x')
				{
					d0=(d0+1)%4;
					continue;
				}
				y0--;
				if(vis[x0][y0]==0)
				{
					ans[cnt]++;
					vis[x0][y0]=1;
				}
			}
			if(d0==3)
			{
				if(x0-1<1|| a[x0-1][y0]=='x')
				{
					d0=(d0+1)%4;
					continue;
				}
				x0--;
				if(vis[x0][y0]==0)
				{
					ans[cnt]++;
					vis[x0][y0]=1;
				}
			}
		}
		cnt++;
	}
	for(int i=1;i<=cnt-2;i++)
	{
		cout << ans[i] << '\n';
	}
	cout << ans[cnt-1];
	return 0;
}

大佬们错哪了

2025/7/20 11:14
加载中...