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

郑州搭建网站公司/宁波seo软件免费课程

郑州搭建网站公司,宁波seo软件免费课程,dw怎么做别人可以看的网站,b2c网上商城有哪些// 面试题:机器人的运动范围 // 题目:地上有一个m行n列的方格。一个机器人从坐标(0, 0)的格子开始移动,它 // 每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和 // 大于k的格子。例如,当k为18时…
// 面试题:机器人的运动范围
// 题目:地上有一个m行n列的方格。一个机器人从坐标(0, 0)的格子开始移动,它
// 每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和
// 大于k的格子。例如,当k为18时,机器人能够进入方格(35, 37),因为3+5+3+7=18。
// 但它不能进入方格(35, 38),因为3+5+3+8=19。请问该机器人能够到达多少个格子?
#include <iostream>int movingCountCore(int threshold, int rows, int cols, int row, int col, bool* visited);
bool check(int threshold, int rows, int cols, int row, int col, bool* visited);
int getDigitSum(int number);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[i] = false;int count = movingCountCore(threshold, rows, cols, 0, 0, visited);//从(0,0)开始检测delete[] visited;return count;
}int movingCountCore(int threshold, int rows, int cols, int row,    int col, bool* visited)
{int count = 0;if (check(threshold, rows, cols, row, col, visited))//如果让走
    {visited[row * cols + col] = true;count = 1 + movingCountCore(threshold, rows, cols, row - 1, col, visited)+ movingCountCore(threshold, rows, cols, row, col - 1, visited)+ movingCountCore(threshold, rows, cols, row + 1, col, visited)+ movingCountCore(threshold, rows, cols, row, col + 1, visited);//那就加上1并继续计算四邻点
    }return count;
}bool check(int threshold, int rows, int cols, int row, int col,    bool* visited)
{if (row >= 0 && row < rows && col >= 0 && col < cols&& getDigitSum(row) + getDigitSum(col) <= threshold&& !visited[row* cols + col])//只有当满足边界条件,满足题设,并且没有走过的点才被允许return true;return false;
}int getDigitSum(int number)
{int sum = 0;while (number > 0)//让我纳闷的是,居然要求值大于零
    {sum += number % 10;number /= 10;}return sum;
}// ====================测试代码====================
void test(const char* testName, int threshold, int rows, int cols, int expected)
{if (testName != nullptr)printf("%s begins: ", testName);if (movingCount(threshold, rows, cols) == expected)printf("Passed.\n");elseprintf("FAILED.\n");
}// 方格多行多列
void test1()
{test("Test1", 5, 10, 10, 21);
}// 方格多行多列
void test2()
{test("Test2", 15, 20, 20, 359);
}// 方格只有一行,机器人只能到达部分方格
void test3()
{test("Test3", 10, 1, 100, 29);
}// 方格只有一行,机器人能到达所有方格
void test4()
{test("Test4", 10, 1, 10, 10);
}// 方格只有一列,机器人只能到达部分方格
void test5()
{test("Test5", 15, 100, 1, 79);
}// 方格只有一列,机器人能到达所有方格
void test6()
{test("Test6", 15, 10, 1, 10);
}// 方格只有一行一列
void test7()
{test("Test7", 15, 1, 1, 1);
}// 方格只有一行一列
void test8()
{test("Test8", 0, 1, 1, 1);
}// 机器人不能进入任意一个方格
void test9()
{test("Test9", -10, 10, 10, 0);
}int main(int agrc, char* argv[])
{test1();test2();test3();test4();test5();test6();test7();test8();test9();system("pause");return 0;
}

 

转载于:https://www.cnblogs.com/CJT-blog/p/10480421.html

http://www.lbrq.cn/news/1924921.html

相关文章:

  • 网站虚拟旅游怎么做的/湖北百度seo排名
  • 湛江专业的免费建站/seo优化对网店的推广的作用为
  • 做app还是做微网站好/全面的seo网站优化排名
  • 使用js做网站性能测试/营销型网站的分类
  • 网站建设设计维片/手游推广赚佣金的平台
  • 如何做产品网站网页/百度快速收录提交工具
  • 长宁青岛网站建设/长沙seo优化推荐
  • 如何通过网站标题找网站/怎么做好推广
  • 建网站用什么服务器好/百度自己的宣传广告
  • 网站开发流程可规划为哪三个阶段/互联网域名交易中心
  • 最美情侣中国字幕视频/网页seo优化
  • wordpress 怎么设置主页/长春seo排名扣费
  • 网站seo策划方案/交换友链要注意什么
  • 容桂销售型网站建设/引流黑科技app
  • 企业门户网站开发任务书/网站制作过程
  • 网页源代码简单/优化大师app
  • 建筑招聘/seo搜索引擎优化软件
  • 微信小程序是怎么开发的/软文优化
  • 做网络销售怎么建立网站/seo优化资源
  • 天津河西做网站公司/任务放单平台
  • 做网站跟app/谷歌排名规则
  • qt 网站开发/湖南百度seo排名点击软件
  • 网站升级中模板/腾讯会议多少钱一个月
  • 大型大型网站建设方案/网站建设策划方案
  • 做移动网站优化首页软/富阳网站seo价格
  • 模板网站 知乎/如何统计网站访问量
  • 建网站没有公司地址怎么办/电商广告
  • 平板电脑可以做淘宝网站吗/淘宝搜索热词排名
  • 刘家窑做网站/市场营销推广方案
  • 河南免费网站建设公司/ebay欧洲站网址
  • Kotlin比较接口
  • 项目流程管理系统使用建议:推荐13款
  • Maven入门指南:生命周期、阶段和执行顺序详解
  • RAG优化秘籍:基于Tablestore的知识库答疑系统架构设计
  • JavaScript进阶篇——第五章 对象成员管理与数组遍历优化
  • AI助手指南:从零开始打造Python学习环境(VSCode + Lingma/Copilot + Anaconda + 效率工具包)