Java怎么解决机器人走格子问题
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"Java怎么解决机器人走格子问题"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java怎么解决机器人走格子问题"文章能帮助大家解决问题。题目
千家信息网最后更新 2025年02月02日Java怎么解决机器人走格子问题
这篇文章主要介绍"Java怎么解决机器人走格子问题"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java怎么解决机器人走格子问题"文章能帮助大家解决问题。
题目:地图上有一个m行n列的方格,一个机器人从坐标(0,0)的格子开始移动,它每一次可以移动的方向是上、下、左、右,且每次只能移动一格,但是不能进入行坐标和列坐标数位之和大于K的格子。例子,当K为16时,机器人能够进入方格(24,19),因为2+4+1+9=16,但是不能进入方格(34,28),因为3+4+2+8=17>16,
问:该机器人能够达到多少个格子。
分析:
这个题目比较简单,可以把问题分解为4个部分:
1)如何计算数字的位数之和
2)机器人是否能够进入某个格子
3) 如果能进入格子,四邻域内的格子是否能够进入,
4)统计一共能够达到多个格子
1)代码
//计算数字位数之和
int getDigitSum(int number)
{
int sum=0;//临时变量,保存一个数字数位和
while(number){
sum+=number;
number/=10;
}
return sum;
}
2)代码
//机器人能否进入某个格子,即从三个方面考虑:
//①是否越界,②数位之和是否满足条件,③邻域格子是否已经访问过
bool check(int threshold,int rows,int cols,int row,int col,bool* visit){
if(row>=0&&col>=0&&row
&&!visit[row*cols+col])
return true;
return false;
}
3)代码
int movingCountCore(int threshold,int rows,int cols, int row,int col, bool *visited)
{
int count=0;
if(check(threshold,rows,cols,row,col,bool* visited))
{
visited[row*cols+col]=true;
count+=1+movingCountCore(threshold,rows,cols,row-1,col,visited)
+movingCountCore(threshold,rows,cols,row+1,col,visited)
+movingCountCore(threshold,rows,cols,row,col-1,visited)
+movingCountCore(threshold,rows,cols,row,col+1,visited);
}
return count;
}
4)代码
int movingCount(int threshold,int rows,int cols){ //要考虑负值的情况 if(threshold<0||rows<=0||cols<=0) {return 0;} bool* visited=new bool[rows*cols]; for(int i=0;i<=rows*cols;++i){ visited=false; } int count=movingCountCore(threshold,rows,cols,0,0,visited); delete[] visited; return count;}
关于"Java怎么解决机器人走格子问题"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
格子
机器
机器人
问题
之和
代码
坐标
数位
数字
方格
知识
移动
位数
行业
题目
不同
实用
三个
个部
例子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东省网络安全知识竞赛答案
网络技术工程师工作内容
图解网络安全pdf 下载
创建服务器程序
c语言提取txt数据库
sql数据库还原到本地
网络安全与道德评课
英国国家网络安全大学排名
网络安全管理问题及对策
开传奇为什么必须要服务器
关于网络安全的贺卡
济南市联想服务器怎么收费
网络安全可用性案例
车载网络技术论坛
服务器异常怎么判断
小黄人快跑 服务器
南方rtk登陆服务器未响应
北京市公安局数据库多久更新一次
如何创建一个数据库sql
参加网络安全大赛获奖会怎样
学校网络安全宣传周图片
数据库实体信息
数据库改名字 sql语句
工程软件开发多少钱
vb同时打开两个数据库
什么服务器防护软件好
上栗县委网络安全和信息化
应用服务器连接出错怎么处理
数据库图灵奖的得主有哪几位
数据库原理及应用答案
- 上一篇
什么是测试网络连通性的命令
今天就跟大家聊聊有关什么是测试网络连通性的命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。测试网络连通性的命令是:ping命令。ping是用
- 下一篇
hadoop启动start-all.sh出错(master: ssh: connect to host master port 22: Connection refused)
当我们打开系统输入hadoop启动命令start-all.sh时出现以下错误:[root@master ~]# start-all.shstarting namenode, logging to /u