24. 机器人的运动范围 dfs

Posted 幽殇默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了24. 机器人的运动范围 dfs相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
https://www.acwing.com/problem/content/description/22/

int ans=0;
bool vis[110][110];
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
bool check(int x,int y,int k)
{
	int a=0,b=0;
	while(x) a+=x%10,x/=10;
	while(y) b+=y%10,y/=10;
	int sum=a+b;
	if(sum<=k) return true;
	else return false;
}
void dfs(int x,int y,int m,int n,int k)
{
	ans++;
	vis[x][y]=true;
	for(int i=0;i<4;i++)
	{
		int tempx=x+dx[i];
		int tempy=y+dy[i];
		if(tempx>=0&&tempx<m&&tempy>=0&&tempy<n&&!vis[tempx][tempy]&&check(tempx,tempy,k)) 
		{
			dfs(tempx,tempy,m,n,k);
		}
	}
}
int movingCount(int threshold, int rows, int cols)
{
    if(rows==0&&cols==0) return 0;
    dfs(0,0,rows,cols,threshold);
    return ans;
}

以上是关于24. 机器人的运动范围 dfs的主要内容,如果未能解决你的问题,请参考以下文章

机器人的运动范围(DFS)

机器人的运动范围(DFS)

剑指offer--13机器人运动范围

Leetcode——机器人的运动范围

剑指OFFER----试题13. 机器人的运动范围

面试题13:机器人的运动范围