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

怎么自己做礼品网站谷歌浏览器安卓版

怎么自己做礼品网站,谷歌浏览器安卓版,做网站的去那里接单,wordpress做微信登录页面地上有一个m行n列的方格,一个机器人从坐标(0,0)的格子开始移动,它每次可以向上下左右移动一个格子,但不能进入行坐标和列坐标的位数之和大于k的格子,请问机器人能够到达多少个格子 #include &l…

地上有一个m行n列的方格,一个机器人从坐标(0,0)的格子开始移动,它每次可以向上下左右移动一个格子,但不能进入行坐标和列坐标的位数之和大于k的格子,请问机器人能够到达多少个格子

#include <vector> // 包含vector头文件
#include <queue> // 包含queue头文件class Solution { // 定义解决方案类
private:int getSum(int x, int y) { // 计算坐标数位之和int sum = 0; // 初始化和为0while (x > 0) { // 处理x坐标sum += x % 10; // 加上个位数x /= 10; // 去掉个位数}while (y > 0) { // 处理y坐标sum += y % 10; // 加上个位数y /= 10; // 去掉个位数}return sum; // 返回数位之和}public:int movingCount(int m, int n, int k) { // 计算可到达的格子数if (k < 0) return 0; // 如果k小于0,无法移动std::vector<std::vector<bool>> visited(m, std::vector<bool>(n, false)); // 记录已访问的格子std::queue<std::pair<int, int>> q; // 用于BFS的队列int count = 0; // 可到达的格子数q.push({0, 0}); // 起始点加入队列visited[0][0] = true; // 标记起始点为已访问int dx[4] = {-1, 1, 0, 0}; // x方向的移动int dy[4] = {0, 0, -1, 1}; // y方向的移动while (!q.empty()) { // BFS主循环auto [x, y] = q.front(); // 获取当前格子坐标q.pop(); // 从队列中移除count++; // 增加可到达的格子数for (int i = 0; i < 4; i++) { // 尝试四个方向的移动int nx = x + dx[i], ny = y + dy[i]; // 计算新坐标if (nx >= 0 && nx < m && ny >= 0 && ny < n && !visited[nx][ny] && getSum(nx, ny) <= k) { // 检查新坐标是否有效q.push({nx, ny}); // 将新坐标加入队列visited[nx][ny] = true; // 标记新坐标为已访问}}}return count; // 返回可到达的格子数}
};

这个实现使用了广度优先搜索(BFS)算法来解决问题。以下是主要的设计思路:

  1. 我们定义了一个Solution类,其中包含两个主要函数:
    • getSum: 这是一个私有辅助函数,用于计算坐标的数位之和。
    • movingCount: 这是公共接口函数,用于计算机器人能够到达的格子数量。
  2. movingCount函数中:
    • 我们使用一个二维布尔数组visited来记录已经访问过的格子。
    • 使用一个队列q来进行BFS。
    • 从(0,0)开始,将其加入队列并标记为已访问。
    • 使用一个while循环进行BFS,每次从队列中取出一个格子,然后尝试向四个方向移动。
    • 对于每个新的可能位置,我们检查:
      1. 是否在网格范围内
      2. 是否已经被访问过
      3. 数位之和是否不大于k
    • 如果满足所有条件,我们将新位置加入队列,并标记为已访问。
    • 每访问一个新的格子,我们就将计数器加1。
  3. 最后返回计数器的值,即为机器人能够到达的格子数量。

这个算法的时间复杂度为O(mn),其中m和n分别是网格的行数和列数。空间复杂度也是O(mn),主要用于存储visited数组和BFS队列。

http://www.laogonggong.com/news/53968.html

相关文章:

  • wordpress哔哩哔哩廊坊seo公司
  • 某企业集团网站建设方案网站建设服务合同 律师
  • 网站开发维护求职信seo关键词排名优化公司
  • 网站建设的主题企业网络推广方法
  • 有什么网站做的比较高大上旅游网站开发的结论
  • 中铁建设集团门户网站做网站需要什么执照
  • 制作电子商务网站页面域名申请了怎么用
  • 鲤城网站建设推广服务公司注册公司需要交多少税
  • 做投票的网站南京cms建站
  • 什么网站时候做伪静态货代找客户的网站
  • 外贸网站建设 广州wordpress 文章幻灯片
  • 工程施工人员招聘网站北京代理记账公司
  • 怎么样注册网站做建网站
  • 网站开发iis怎么配置网络运维app
  • 怎样制定一个网站建设方案公司做网站需要哪些内容
  • htm网站开发 实训北海做网站哪家好
  • 网站做代练购物类网站都有哪些模块
  • 网站开发ceac证龙岩kk网首页
  • 查大学专业网站网站制作的服务机构
  • 购物网站建设公司产品网站开发流程
  • 温岭市建设局网站审批公示phpcms适合做什么网站
  • 温州做网站公司哪家好3 6年级手工小制作
  • 中山精品网站建设市场html网站登录界面模板
  • asp网站建设下载上饶专业企业网站建设
  • wordpress搭建漫画站酒店线上营销方案
  • 天河网站建设多少钱详情页怎么设计
  • 零食网站怎么做只有网站才需要域名吗
  • wordpress+技术类模板下载seo发布专员招聘
  • 沈阳手机网站建设北京企业网站建设制作
  • app网站开发案例云南网站建设首选公司