/**
* 机器人的运动范围:https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/
* @Description
*/publicclassTest11{publicintmovingCount(int m,int n,int k){if(m <=0|| n <=0|| k <0){return0;}//访问数组boolean[] isVisited =newboolean[m * n];returnmovingCountCore(m,n,k,0,0,isVisited);}privateintmovingCountCore(int m,int n,int k,int row,int col,boolean[] isVisited){if(row <0|| col <0|| row >= m || col >= n || isVisited[row * n + col]||getDigitSum(row)+getDigitSum(col)> k){return0;}
isVisited[row * n + col]=true;return1+movingCountCore(m, n, k, row -1, col,isVisited)+movingCountCore(m, n, k, row , col -1,isVisited)+movingCountCore(m, n, k, row +1, col,isVisited)+movingCountCore(m, n, k, row , col +1,isVisited);}//得到各个数位之和privateintgetDigitSum(int num){int sum =0;while(num >0){
sum += num %10;
num /=10;}return sum;}publicstaticvoidmain(String[] args){
System.out.println(newTest11().movingCount(2,3,1));}}