首页 > 试题广场 >

机器人移动范围

[编程题]机器人移动范围
  • 热度指数:4547 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
地上有一个 m 行和 n 列的方格。一个机器人从坐标 0,0 的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于 k 的格子。 例如,当 k 为 18 时,机器人能够进入方格(35,37),因为 3+5+3+7 = 18 。但是,它不能进入方格(35,38),因为 3+5+3+8 = 19 。请问该机器人能够达到多少个格子?

数据范围:

输入描述:
一行三个正整数由空格分开,分别代表行数 m ,列数 n ,和坐标数位之和的阈值 k 。


输出描述:
一个正整数,代表该机器人能够到达的格子数量。
示例1

输入

3 3 6

输出

9
示例2

输入

1 1 1

输出

1
头像 小牛哥永不退缩
发表于 2023-08-02 12:55:02
深度搜索优先算法 import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner i 展开全文
头像 重生之我要当分子
发表于 2024-12-31 23:11:57
解题思路 这是一个典型的DFS(深度优先搜索)问题。关键点如下: DFS搜索策略: 从 开始,向四个方向搜索 返回值为当前格子 加上四个方向的搜索结果 使用boolean数组标记已访问的格子 数位和计算: 单独编写函数计算数位和 优化计算过程,避免重复计算 代码 cpp 展开全文