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的主要内容,如果未能解决你的问题,请参考以下文章