社区讨论

CSP-J T2 AK I

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@m2sky3iy
此快照首次捕获于
2024/10/28 13:30
去年
此快照最后确认于
2025/11/04 15:49
4 个月前
查看原帖
all TLE
CPP
#include<bits/stdc++.h>
using namespace std;
char c[1005][1005];
int v[1005][1005];
int n,m,k,ans;
int dfs(int x,int y,int d,int s){
	if(s>=k)
		return ans+1;
	int nx=0,ny=0;
	if(d==0)
	{
		nx=x;
		ny=y+1;
	} 
	if(d==1)
	{
		nx=x+1;
		ny=y;
	}
	if(d==2)
	{
		nx=x;
		ny=y-1;
	}
	if(d==3)
	{
		nx=x-1;
		ny=y;
	}
	if(nx>=1 && nx<=n && ny>=1 && ny<=m && c[nx][ny]=='.')
	{
		if(v[nx][ny]==0)
			ans++;
		v[nx][ny]=1;
		dfs(nx,ny,d,s+1);
	}
	else
		dfs(x,y,(d+1)%4,s+1);
}
int main(){
	int t;
	cin>>t;
	while(t--)
	{
		ans=0;	
		int x,y,d;
		cin>>n>>m>>k>>x>>y>>d;
		for(int i=1; i<=n; i++)
		{
			string s;
			cin>>s;
			for(int j=1; j<=m; j++)
				c[i][j]=s[j-1];
		}
		cout<<dfs(x,y,d,0)<<'\n';
		memset(c,0,sizeof(c));
		memset(v,0,sizeof(v));
	}
	return 0;
}
QAQ

回复

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

正在加载回复...