每日OJ题_DFS解决FloodFill⑦_力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围)

ops/2024/9/25 17:22:28/

目录

力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围)

解析代码


力扣LCR 130. 衣橱整理(原剑指Offer13机器人的运动范围)

LCR 130. 衣橱整理

难度 中等

家居整理师将待整理衣橱划分为 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
class Solution {
public:int wardrobeFinishing(int m, int n, int cnt) {}
};

解析代码

        一道非常典型的搜索类问题。 可以通过深搜或者宽搜,从 [0, 0] 点出发,按照题目的规则一直往 [m - 1, n - 1] 位置走。 同时设置一个全局变量。每次走到一个合法位置,就将全局变量加一。当我们把所有能走到的路都走完之后,全局变量里面存的就是最终答案。下面是深搜的代码:

class Solution {int ret, _m, _n, _cnt;bool vis[101][101];int dx[4] = {0, 0, -1, 1};int dy[4] = {1, -1, 0, 0};public:int wardrobeFinishing(int m, int n, int cnt) {_m = m, _n = n, _cnt = cnt;dfs(0, 0);return ret;}void dfs(int sr, int sc){++ret;vis[sr][sc] = true;for(int i = 0; i < 4; ++i){int x = sr + dx[i], y = sc + dy[i];if(x >= 0 && x < _m && y >= 0 && y < _n && !vis[x][y] && chick(x, y))dfs(x, y);}}bool chick(int x, int y){int sum = 0;while(x){sum += (x % 10);x /= 10;}while(y){sum += (y % 10);y /= 10;}return sum <= _cnt;}
};


http://www.ppmy.cn/ops/35924.html

相关文章

万里牛ERP集成金蝶K3(万里牛主管供应链)

源系统成集云目标系统 金蝶K3介绍 金蝶K3是一款ERP软件&#xff0c;它集成了供应链管理、财务管理、人力资源管理、客户关系管理、办公自动化、商业分析、移动商务、集成接口及行业插件等业务管理组件。以成本管理为目标&#xff0c;计划与流程控制为主线&#xff0…

虚拟机装CentOS镜像

起先&#xff0c;是先安装一个VM虚拟机&#xff0c;再去官方网站之类的下载一些镜像&#xff0c;常见镜像有CentOS镜像&#xff0c;ubantu镜像&#xff0c;好像还有一个树莓还是什么的&#xff0c;软件这块&#xff0c;日新月异&#xff0c;更新太快&#xff0c;好久没碰&#…

React Native支持Tailwind CSS 语法

React Native支持Tailwind CSS 语法 一、前沿背景 回想下我们平时按照官方的规范进行书写样式是什么样&#xff1f; 是像下面这样&#xff1a; const MyComponent () > {return (<View><Text style{{ fontSize: 20 }}>开发者演示专用</Text></View…

花一个月时间为 vue3 重制了 vue-styled-components

花一个月时间为 vue3 重制了 vue-styled-components 前言 styled-components 在 React 是一个超级热门的 css in js 工具库。其实 styled-components 也有 Vue 版本&#xff08;vue-styled-components&#xff09;&#xff0c;可惜的是只支持 Vue2&#xff0c;并且该项目已有…

《深入理解kafka-核心设计与实践原理》第三章:消费者

第三章&#xff1a;消费者 3.1 消费者与消费组 3.1.1 消费者(Consumer) 3.1.2 消费组(Consumer Group) 3.1.3 消息投递模式 3.2 客户端开发 3.2.1 必要的配置参数 3.2.2 订阅主题与分区 3.2.3 反序列化 3.2.4 消费消息 3.2.5 位移提交 3.2.5.1 offset 3.2.5.2 消费后的提交方式…

3D应用开发工具HOOPS与云计算:推动工程设计行业的数字化转型

关于云计算 在信息技术迅猛发展的今天&#xff0c;云计算已经成为企业进行数字化转型的重要推手。云计算通过互联网提供包括服务器、存储、数据库、网络、软件、分析和智能等在内的计算服务&#xff0c;这些服务通常以按需供应的方式提供&#xff0c;允许用户根据使用量进行付…

618好物节不知道买什么?快收下这份好物推荐指南!

随着618好物节的临近&#xff0c;你是否在为选择什么产品而犹豫不决&#xff1f;不用担忧&#xff0c;我精心准备了一份购物指南&#xff0c;旨在帮助你发现那些性价比高、口碑爆棚的商品。无论是科技新品还是生活小物件&#xff0c;这份指南都能帮你快速定位到那些值得投资的好…

Java设计模式 _结构型模式_外观模式

一、外观模式 1、外观模式 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型模式。主要特点为隐藏系统的复杂性&#xff0c;并向客户端提供了一个客户端可以访问系统的接口。这有助于降低系统的复杂性&#xff0c;提高可维护性。当客户端与多个子系统之间存在大量…