社区讨论

救救救救救

P11228[CSP-J 2024] 地图探险参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhj1olr4
此快照首次捕获于
2025/11/03 19:16
4 个月前
此快照最后确认于
2025/11/03 19:16
4 个月前
查看原帖
CPP
#include<iostream>
using namespace std;
int t,x0,y0,d0,n,m,k,dx[]={0,1,0,-1},dy[]={1,0,-1,0};
char a[1001][1001];
bool map[1001][1001];
bool check(int x,int y)
{
	return x>=1&&x<=n&&y>=1&&y<=m;
}
int main()
{
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d%d%d%d%d",&n,&m,&k,&x0,&y0,&d0);
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				cin>>a[i][j];
			}
		}
		map[x0][y0]=1;
		for(int i=1;i<=k;i++)
		{
			int x1=x0+dx[d0],y1=y0+dy[d0];
			if(check(x1,y1)&&a[x1][y1]=='.')
			{
				x0=x1,y0=y1;
			}
			else
			{
				d0=(d0+1)%4;
			}
			map[x0][y0]=1;
		}
		int sum=0;
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				if(map[i][j]==1)
				{
					sum++;
				}
			}
		}
		printf("%d\n",sum);
	}
	return 0;
}
全WA求条:)

回复

2 条回复,欢迎继续交流。

正在加载回复...