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

天元建设集团有限公司网站代做百度收录排名

天元建设集团有限公司网站,代做百度收录排名,做网站策划一个专利的主题宣传,专业营销型网站建设费用1. 题目链接:LCR 130. 衣橱整理 2. 题目描述: 家居整理师将待整理衣橱划分为 m x n 的二维矩阵 grid,其中 grid[i][j] 代表一个需要整理的格子。整理师自 grid[0][0] 开始 逐行逐列 地整理每个格子。 整理规则为:在整理过程中&am…

1. 题目链接:LCR 130. 衣橱整理

2. 题目描述:

家居整理师将待整理衣橱划分为 m x n 的二维矩阵 grid,其中 grid[i][j] 代表一个需要整理的格子。整理师自 grid[0][0] 开始 逐行逐列 地整理每个格子。

整理规则为:在整理过程中,可以选择 向右移动一格向下移动一格,但不能移动到衣柜之外。同时,不需要整理 digit(i) + digit(j) > cnt 的格子,其中 digit(x) 表示数字 x 的各数位之和。

请返回整理师 总共需要整理多少个格子

示例 1:

输入:m = 4, n = 7, cnt = 5
输出:18

提示:

  • 1 <= n, m <= 100
  • 0 <= cnt <= 20

3. 算法思路:

这是一道非常典型的搜索类问题

我们可以通过深搜或者宽搜,从[0,0]点出发,按照题目的规则一直往[m-1,n-1]位置走,

同时设置一个全局变量,每次走到一个合法的位置,就将全局变量加1,当我们把所有走到的路都走完之后,全局变量里存的就是最终答案

4. 算法流程:

  1. 定义变量和数组:在类Solution中,定义了以下成员变量和数组:

    • mncnt:分别表示矩阵的行数、列数和计数器。
    • vis:布尔数组,用于记录每个位置是否被访问过。
    • ret:整数变量,用于记录结果。
    • dxdy:两个整数数组,分别表示上下左右四个方向的偏移量。
  2. 函数wardrobeFinishing:这是算法的主函数,接收三个参数:矩阵的行数_m、列数_n和计数器_cnt。它的作用是调用深度优先搜索算法来解决问题,并返回结果。

    • 将参数赋值给成员变量mncnt
    • 调用dfs(0, 0)从矩阵的第一个位置开始进行深度优先搜索。
    • 返回结果ret
  3. 函数dfs:这是一个递归函数,用于执行深度优先搜索。它接收两个参数:当前位置的行坐标i和列坐标j

    • 将结果ret加1。
    • 标记当前位置为已访问。
    • 遍历四个方向(上、下、左、右),计算下一个位置的坐标。
    • 如果下一个位置在矩阵范围内且未被访问过且满足条件(通过调用check(x, y)函数判断),则继续递归调用dfs(x, y)进行深度优先搜索。
  4. 函数check:这是一个辅助函数,用于检查给定位置是否满足特定条件。它接收两个参数:当前位置的行坐标i和列坐标j

    • 初始化变量tmp为0,用于存储数字之和。
    • 使用循环,当i不为0时,执行以下操作:
      • i的个位数加入tmp
      • i除以10,去掉个位数。
    • 使用循环,当j不为0时,执行以下操作:
      • j的个位数加入tmp
      • j除以10,去掉个位数。
    • 判断tmp是否小于等于计数器cnt,如果是则返回true,否则返回false。

这个算法的目的是通过深度优先搜索遍历矩阵中的每个位置,并根据特定条件进行判断和处理。最终的结果存储在变量ret中,并通过函数wardrobeFinishing返回。

请添加图片描述

5. C++算法代码:

class Solution {int m, n, cnt; // 定义变量m、n、cnt,分别表示矩阵的行数、列数和计数器bool vis[101][101]; // 定义布尔数组vis,用于记录每个位置是否被访问过int ret; // 定义变量ret,用于记录结果int dx[4] = {0, 0, 1, -1}; // 定义数组dx,表示上下左右四个方向的偏移量int dy[4] = {1, -1, 0, 0}; // 定义数组dy,表示上下左右四个方向的偏移量public:int wardrobeFinishing(int _m, int _n, int _cnt) { // 定义函数wardrobeFinishing,接收三个参数:矩阵的行数、列数和计数器m = _m, n = _n, cnt = _cnt; // 将参数赋值给成员变量dfs(0, 0); // 从矩阵的第一个位置开始进行深度优先搜索return ret; // 返回结果}void dfs(int i, int j) { // 定义函数dfs,接收两个参数:当前位置的行坐标和列坐标ret++; // 结果加1vis[i][j] = true; // 标记当前位置为已访问for (int k = 0; k < 4; k++) { // 遍历四个方向int x = i + dx[k], y = j + dy[k]; // 计算下一个位置的坐标if (x >= 0 && x < m && y >= 0 && y < n && !vis[x][y] && check(x, y)) { // 如果下一个位置在矩阵范围内且未被访问过且满足条件dfs(x, y); // 继续深度优先搜索}}}bool check(int i, int j) { // 定义函数check,接收两个参数:当前位置的行坐标和列坐标int tmp = 0; // 定义变量tmp,用于存储数字之和while (i) { // 当i不为0时,执行循环tmp += i % 10; // 将i的个位数加入tmpi /= 10; // i除以10,去掉个位数}while (j) { // 当j不为0时,执行循环tmp += j % 10; // 将j的个位数加入tmpj /= 10; // j除以10,去掉个位数}return tmp <= cnt; // 判断tmp是否小于等于计数器,如果是则返回true,否则返回false}
};
http://www.zhongyajixie.com/news/38480.html

相关文章:

  • 做国外单的网站叫什么品牌运营策划
  • 西湖网站建设最新舆情信息网
  • 网站建设分配人员方案网站设计制作的服务怎么样
  • 网站建设模板图片做网站用什么软件
  • 青海wap网站建设比较好站长工具同大全站
  • 金华企业网站建站模板互联网营销推广公司
  • 做电影网站程序哪个好seo的基本内容
  • 微网站案例深圳公关公司
  • dede做英文网站优化网络营销网课
  • 做会计网站的流程图关键词排名顾问
  • c2c网站网址跨境网站建站
  • 网站建设时间表seo实战培训学校
  • 企业怎么建设网站首页上海推广网站
  • 某班级网站建设方案中央刚刚宣布大消息
  • 手机网站推荐导航页广州seo技术优化网站seo
  • 岗顶网站建设推广发布任务平台app下载
  • 网站怎么申请百度小程序sem是什么分析方法
  • 男女生做羞羞网站网络推广的目标
  • div css制作个人网站厦门人才网最新招聘信息
  • 山东省城建设计院网站新乡网站优化公司
  • 宁阳移动网站制作微信营销平台系统
  • 内蒙古城乡和建设厅网站seo优化方法有哪些
  • 黑客网站网址入口搜索引擎优化方法有哪几种
  • 珠海网站建设zhkmkj2022重大时政热点事件简短
  • 光纤做网站 移动不能访问电信天津seo排名收费
  • 哪有做外单的图片素材网站企业培训考试
  • 群辉怎么做视频网站徐州seo培训
  • 香港国际建设网站首页热点时事新闻
  • 网站建设需要哪些费用曲靖seo建站
  • wordpress最新模板seo与sem的区别与联系