当前位置: 首页 > news >正文

47、PHP实现机器人的运动范围

题目: PHP 实现机器人的运动范围

描述:

 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。
例如:
 当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。
 但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?

<?phpfunction movingCount($threshold, $rows, $cols)
{// write code here$q = new SplQueue();if($threshold <= 0 || $rows * $cols == 0){return 0;}$q->push([0,0]);$v = [];$v[0][0] = 1;$cnt = 0;while(!$q->isEmpty()){$t = $q->shift();$cnt ++;$i=$t[0];$j=$t[1];if(judge($i,$j+1,$threshold, $rows, $cols, $v)){$v[$i][$j+1] = 1;$q->push([$i,$j+1]);} if(judge($i,$j-1,$threshold, $rows, $cols, $v)){$v[$i][$j-1] = 1;$q->push([$i,$j-1]);}if(judge($i+1,$j,$threshold, $rows, $cols, $v)){$v[$i+1][$j] = 1;$q->push([$i+1,$j]);}if(judge($i-1,$j,$threshold, $rows, $cols, $v)){$v[$i-1][$j] = 1;$q->push([$i-1,$j]);}}return $cnt;
}function judge($i, $j, $k, $rows, $cols, &$v){if($i >= $rows || $j >=$cols || $i < 0 || $j < 0 || (isset($v[$i]) && isset($v[$i][$j]) && $v[$i][$j] == 1)){return false;}return array_sum(str_split($i)) + array_sum(str_split($j)) <= $k;
}
http://www.lryc.cn/news/406437.html

相关文章:

  • Linux第四节课(指令与权限)
  • 扫雷-C语言
  • RockyLinux 9 PXE Server bios+uefi 自动化部署 RockLinux 8 9
  • 接口测试基础
  • 为什么 from . import * 不会导入子模块
  • LangGPT结构化提示词编写实践
  • React: class 和 style
  • 【数据结构】包装类、初识泛型
  • TCP客户端connect断线重连
  • 细说MCU用DMA改变DAC输出信号频率和改善输出波形质量的方法
  • Java高级面试题
  • USART串口理论知识总结
  • 基于 HTML+ECharts 实现智慧景区数据可视化大屏(含源码)
  • vxe-table——实现切换页码时排序状态的回显问题(ant-design+elementUi中table排序不同时回显的bug)——js技能提升
  • SQL
  • maven archetype
  • 浏览器打开抽奖系统html
  • 微信小程序-使用Component方法代替Page方法构造页面
  • Spark SQL----DISTRIBUTE BY子句
  • HTML5-canvas1
  • 【NOI-题解】1009 - 数组逆序1162 - 数组元素的删除1211 - 数组元素的插入1161. 元素插入有序数组1159. 数组元素的移动
  • 新电脑如何设置 npm 源及查看源、安装 cnpm、pnpm 和 yarn 的详细教程
  • 完全移动huggingface模型仓库(不是简单mv)
  • 手机空号过滤批量查询的意义及方法
  • Dockerfile制作部署wordpress-6.6
  • 项目的纪要
  • ubuntu 更新源
  • XGBoost、RF随机森林算法MATLAB实现
  • WPF 解决: DataGrid 已定义列,但是还是会显示模型的所有属性的问题
  • 【ai】Easy-RAG : ImportError: cannot import name ‘BaseModel‘ from ‘pydantic‘