文章目录

  • 1. 题目
  • 2. 解题

1. 题目

描述

A robot is located in a pair of integer coordinates (x, y). It must be moved to a location with another set of coordinates. Though the bot can move any number of times, it can only make the following two types of moves:

  • From location (x, y) to location (x + y, y)
  • From location (x, y) to location (x, x + y)

Given the start coordinates and the end coordinates of the target, if the robot can reach the end coordinates according to the given motion rules, you should return true, otherwise you should return false.

x 和 y 的范围是: [1, 1 000 000 000]
移动的次数可以是0次。
示例 1:
输入:
start = [1, 1]
target = [5, 2]
输出:
True
解释:
(1, 1) -> (1, 2) -> (3, 2) -> (5, 2), 你应该返回True示例 2:
输入:
start = [1, 2]
target = [3, 4]
输出:
False
解释:
[1, 2] 根据移动规则不能到达 [3, 4] 所以你应该返回False.示例 3:
输入:
start = [2, 1]
target = [4, 1]
输出:
True
解释:
(2, 1) -> (3, 1) -> (4, 1), 你应该返回True.

https://tianchi.aliyun.com/oj/338602522508251883/378934605959598749

2. 解题

  • 从终点往回推,大的坐标减去小的坐标
class Solution {public:/*** @param start: a point [x, y]* @param target: a point [x, y]* @return: return True and False*/bool ReachingPoints(vector<int> &start, vector<int> &target) {if(start == target) return true;while(target[0] >= start[0] && target[1] >= start[1]){if(start == target)return true;if(target[0] == start[0])//有一个坐标x已经相同了{if((target[1]-start[0])%start[0] == 0)return true;//另一个坐标 y 一直减 x 即可,是倍数关系 trueelsetarget[1] -= start[0];}else if(target[1] == start[1]){if((target[0]-start[1])%start[1] == 0)return true;elsetarget[0] -= start[1];}else if(target[0] > target[1])target[0] -= target[1];elsetarget[1] -= target[0];}return false;}
};

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

天池 在线编程 到达终点相关推荐

  1. 【组队学习】【34期】阿里云天池在线编程训练营

    阿里云天池在线编程训练营 航路开辟者:陈信达.杨世超.赵子一.马燕鹏 领航员:武帅.初晓宇.叶前坤.邱广坤.朱松青 航海士:宁彦吉.肖桐.汪超.陈信达.杨世超.赵子一.武帅.初晓宇.叶前坤.邱广坤.朱 ...

  2. 天池 在线编程 扫雷(BFS)

    文章目录 1. 题目 2. 解题 1. 题目 描述 现在有一个简易版的扫雷游戏,你将得到一个n*m大小的二维数组作为游戏地图. 每个位置上有一个值(0或1,1代表此处没有雷,0表示有雷). 你将获得一 ...

  3. 天池 在线编程 最长AB子串(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 描述 给你一个只由字母'A'和'B'组成的字符串s,找一个最长的子串,要求这个子串里面'A'和'B'的数目相等,输出该子串的长度. 这个子串可以为空. s ...

  4. 天池 在线编程 最大子树(自底向上)

    文章目录 1. 题目 2. 解题 1. 题目 描述 给你一棵二叉树,找二叉树中的一棵子树,他的所有节点之和最大. 返回这棵子树的根节点. 我会把你返回的节点作为最优子树的树根来打印. 数据保证有且仅有 ...

  5. 天池 在线编程 输入流

    文章目录 1. 题目 2. 解题 1. 题目 描述 给出两个输入流 inputA 和 inputB(包含退格符), 如果两个输入流最后的结果相等,输出 YES,否则输出 NO. 输入字符只包括小写字母 ...

  6. 天池 在线编程 推荐朋友(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 描述 给n个人的朋友名单,告诉你user是谁,请找出user最可能认识的人.(他和user有最多的共同好友且他不是user的朋友) n <= 500 ...

  7. 天池 在线编程 停车困境(双指针)

    文章目录 1. 题目 2. 解题 1. 题目 描述 停车场里停着许多汽车. 停车位是一条很长的直线,每米都有一个停车位. 当前很多汽车停放,您想通过建造屋顶来遮雨挡雨. 要求至少有k辆车的车顶被车顶遮 ...

  8. 天池 在线编程 回文子串(区间动态规划)

    文章目录 1. 题目 2. 解题 1. 题目 描述 小明喜欢玩文字游戏,今天他希望在一个字符串的子串中找到回文串. 回文串是从左往右和从右往左读相同的字符串,例如121和tacocat.子串是一个字符 ...

  9. 天池 在线编程 订单分配(回溯)

    文章目录 1. 题目 2. 解题 1. 题目 描述 打车派单场景, 假定有N个订单,待分配给N个司机. 每个订单在匹配司机前,会对候选司机进行打分,打分的结果保存在N*N的矩阵score,其中scor ...

最新文章

  1. python的可变长参数
  2. ST7789V2 LCD驱动芯片
  3. 一台微型计算机的处理速度主要取决于,2017年答案计算机等级考试题库「附答案」...
  4. 查看tensorflow是否支持GPU,以及测试程序
  5. HttpClient 发送请求和参数
  6. 阿里巴巴Java编程规范试题答案
  7. 当下流行架构中的一些技术思考
  8. 脚踏实地、仰望星空的贵系学子们
  9. 腾讯计算机安全实验室,TRP-AI反病毒引擎创新:腾讯安全最新成果入围顶级学术会议...
  10. 史上最难的大学专业 计算机 土木建筑 医学,大学最易挂科的专业,智商不够别报考,不然很难毕业!...
  11. 云端是一个软件平台,拥有丰富的资源。在云端使用软件,无需安装,一点,下载,直接使用。
  12. android 调出键盘表情_Android 显示输入法中的emoji表情以及String字符
  13. Faster R-CNN论文翻译笔记
  14. ENVI标准格式文件转换为.tif文件——基于ENVI库函数
  15. HANA DB重置SYSTEM密码
  16. 联想笔记本暗屏几乎看不见_联想笔记本屏幕突然变得很暗,基本看不见,怎么办,十万火急,是不是屏幕坏了???...
  17. 数值分析---Jacobi迭代法
  18. 继承属性:定义交通工具类Vehicle,一个小车类Car,一个公共汽车Bus类,实现Car、Bus对Vehicle的继承
  19. 鱼c工作室python课件_鱼C工作室Python作业
  20. Go秒杀系统——RabbitMQ入门

热门文章

  1. 深度学习目标检测之 YOLO v3
  2. MySQL安装和完全卸载-Linux ubantu18.04
  3. Python3.6+Django2.0+Xadmin2.0学生信息管理系统-2
  4. 特别慢_背什么都特别慢,该怎么提高记忆力?
  5. redhat虚拟机安装
  6. Caffe源码解析2:SycedMem
  7. aimesh node重启_ASSIMP的数据结构
  8. android:layout 冒号,android-json解析及简单例子(补汉6个汉字字).pdf
  9. 【转】oracle数据库中varchar2陷阱
  10. Splay初步【bzoj1503】