首页 > 其他分享 >2849. 判断能否在给定时间到达单元格-362

2849. 判断能否在给定时间到达单元格-362

时间:2023-09-11 11:12:16浏览次数:42  
标签:sy sx 2849 fx fy 单元格 int 362

2849. 判断能否在给定时间到达单元格

给你四个整数 sx、sy、fx、fy 以及一个 非负整数 t 。

在一个无限的二维网格中,你从单元格 (sx, sy) 开始出发。每一秒,你 必须 移动到任一与之前所处单元格相邻的单元格中。

如果你能在 恰好 t 秒 后到达单元格 (fx, fy) ,返回 true ;否则,返回 false 。

单元格的 相邻单元格 是指该单元格周围与其至少共享一个角的 8 个单元格。你可以多次访问同一个单元格。

示例 1:

输入:sx = 2, sy = 4, fx = 7, fy = 7, t = 6
输出:true
解释:从单元格 (2, 4) 开始出发,穿过上图标注的单元格,可以在恰好 6 秒后到达单元格 (7, 7) 。
示例 2:

输入:sx = 3, sy = 1, fx = 7, fy = 3, t = 3
输出:false
解释:从单元格 (3, 1) 开始出发,穿过上图标注的单元格,至少需要 4 秒后到达单元格 (7, 3) 。 因此,无法在 3 秒后到达单元格 (7, 3) 。

提示:

\[1 <= sx, sy, fx, fy <= 10^9\\ 0 <= t <= 10^9\\ \]

解题思路

见代码注释

code

class Solution {
public:

    //数据范围:1e9,基本上是和BFS无缘了
    //可以往八个相邻的方格走并且允许重复
    //也就是只要t > 最短时间即可
    //关键是如何求最短时间
    //min_t = max(abs(fx - sx),abs(fy - sy))
    //思考方式:尽量斜着走,可以xy同时接近目标,直到两者有一个目标值相等,再横着走
    //无论是斜着走还是横着走,都是在x或y上增加,选择其中的较大值即可

    bool isReachableAtTime(int sx, int sy, int fx, int fy, int t) {
        if(sx == fx && sy == fy)
            return t != 1;

        int min_t = max(abs(fx - sx),abs(fy - sy));
        //cout<<min_t<<endl;
        return min_t <= t;

    }
};

标签:sy,sx,2849,fx,fy,单元格,int,362
From: https://www.cnblogs.com/huangxk23/p/17692986.html

相关文章

  • Excel单元格快速交换相邻位置内容
    一、相邻两列内容交换(A1与B1交换)1.首先选择A1单元格的边框位置,出现了向上下左右的十字标志2.此时按住shift键,并且拖向B1单元格的右边,出现"工"汉字标志3.松开鼠标,不松开shift键盘,完成A1与B1单元格的交换 二、相邻两行内容交换(A1与A2交换)1.首先选择A1单元格的边框位置,出现......
  • HTML5表格标签和单元格合并
    表格标签<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=,initial-scale=1.0"><title>Document</title></head&g......
  • Excel 当单元格内容为空时自动隐藏本行
    宏代码如下:PrivateSubWorksheet_Change(ByValTargetAsRange)IfTarget.Column=3ThenIfTarget.Value=""ThenTarget.EntireRow.Hidden=TrueEndIfEndIfEndSub首先鼠标右击该工作表名称标签,点击“查看代码”命令,随即自动进入到VBA代码编辑窗口,然后我们将上面的一段......
  • element-ui合并单元格
    当你需要在Vue.js中创建一个表格并实现单元格合并功能时,可以使用以下代码作为参考。这个示例假设你已经有一个包含表格数据的data数组和一个字段名数组fieldNameArray,用于确定哪些字段需要合并。<template><div><el-table:data="data"style="width:100%"><!--需......
  • Python 读取excel表1单元格 生成 表2 的超链接
    fromopenpyxlimportload_workbook#加载现有的工作簿fromopenpyxl.utilsimportget_column_letterwb=load_workbook("C:\\Users\\CMS01\\Desktop\\SCHH621TEG_LDO(PLDO、NLDO、CPLDO)测试需求_20230814.xlsx")#获取Sheet1和Sheet6sheet1=wb['Sheet7�......
  • [EasyExcel] 导出合并单元格
    前言使用springboot对excel进行操作在平时项目中要经常使用。常见通过jxl和poi的方式进行操作。但他们都存在一个严重的问题就是非常的耗内存。这里介绍一种EasyExcel工具来对excel进行操作。一、EasyExcel是什么?EasyExcel是阿里巴巴开源的一个excel处理框架,以使用......
  • 设置单元格格式:背景色奇偶不同
    设置奇数行颜色可参考下方截图。选中所有要设置的单元格;条件格式、突出……、其他规则使用公式确定要……输入公式:=MOD(ROW(),2)=0格式、选颜色、确定设置偶数行颜色与以上五个步骤大致相同,只是第四步的公式更为:=MOD(ROW(),2)参考:https://blog.51cto.com/u_161......
  • vue3.0 el-table 动态合并单元格
    <el-tablev-resize:34style="margin:10px010px":data="tableData":header-cell-style="{background:'#F6F6F6',height:'10px','text-align':'center'}":......
  • Vue element 表格跨行合并单元格
    1、定义table.js/***生成表格合并行坐标阵列rowspan、colspan信息*@param{表格数据}tableData*@param{合并列字段}mergeColumnsexample:["filed1",[filed2]]*@returns坐标阵列*/exportfunctiongetTableSpanMap(tableData,mergeColumns){varspa......
  • 3.2.3 单元格扩展
    一、单元格扩展掌握单元格扩展的概念;学会制作行式报表和交叉报表1.应用场景数据集中的字段拖入到单元格后,如果不进行单元格扩展,字段下的数据会在一个单元格中集中展示。如下图:通过设置单元格扩展功能,可以让一个字段下的不同数据在多个单元格中展示。2.功能介绍......