求调
查看原帖
求调
1375502
muwan楼主2024/12/12 20:23
#include<bits/stdc++.h>
using namespace std;
const int N=1005;
int dir[4][2]={{1,0},{0,-1},{-1,0},{0,1}};
int n,m,k,x,y,d;
int ans;
int a[N][N];
int dfs(int x,int y,int d,int k,int ans)
{
	if(k==0)  return ans; 
		int nx=x+dir[d][0];
		int ny=y+dir[d][1];
		if(a[nx][ny]==1)  
		{
			a[nx][ny]=0;
			dfs(nx,ny,d,k-1,ans+1);
		}
			
		else dfs(x,y,(d+1)%4,k-1,ans);
}
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		memset(a,0,sizeof a);
		cin>>n>>m>>k;
		cin>>x>>y>>d;
		for(int i=1;i<=n;i++)
			for(int j=1;i<=m;j++)
			{
				char c;
				cin>>c;
				if(c!='x')  a[i][j]=1;
			}
			int qwq=dfs(x,y,d,k,0);
		cout<<qwq<<'\n';		
	}
	return 0;
 } 
2024/12/12 20:23
加载中...