题目链接:https://leetcode.com/problems/reaching-points/

题意:给定操作可以使点(x,y)变为点(x+y,y)或者点(x,x+y)。现已知初始点(sx,sy)和目标点(tx,ty),问是否能使用该变换使得(sx,sy)变为(tx,ty)。变换次数不限。\(1\leq sx,sy,tx,ty \leq1e9\)

最简单的方法是BFS,但是数据范围BFS会超时,当tx大于sx时,应该不断从tx中减去ty直到tx不大于sx或者tx不大于ty。反之如果ty比tx大亦然。

class Solution {
public:
bool reachingPoints(int sx, int sy, int tx, int ty) {
int cnt = 0;
while (tx-sx>=ty||ty-sy>=tx) {
if (tx>ty&&tx>sx)
tx = tx-(tx - sx)/ ty*ty;
if (ty>tx&&ty>sy)
ty = ty - (ty - sy)/ tx * tx ;
}
return tx == sx&&ty == sy;
}
};

最新文章

  1. 简述cookie
  2. 在中文windows下使用pywinauto进行窗口操作
  3. 如何将ADT项目导入Android studio及常見問題
  4. Unity Standard Assets 简介之 2D
  5. redis 简介
  6. oracle查看允许的最大连接数和当前连接数等信息
  7. C#多态联系之虚方法
  8. 自定义VS的ItemTemplates 实现任意文件结构
  9. 正则表达式 提取<A>标签
  10. 简单的Java逻辑小代码(打擂台,冒泡排序,水仙花数,回文数,递归)
  11. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记 - 索引
  12. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application问题解决方案参考
  13. Thinkphp框架中自定义修改success和error页面
  14. Linux记录-CPU指标介绍
  15. Django REST framework API开发
  16. java 权重随机算法实现
  17. Vue组件中引入jQuery
  18. JS中的兼容问题总结
  19. 分析:新建短信,当我们接受人RecipientsEditor中输入+86的时候,系统会自动在+86后加入空格
  20. java命令执行jar文件

热门文章

  1. GPU编程和流式多处理器(四)
  2. 【逆向实战】恶意勒索软件分析_披着羊皮的狼_被注入恶意代码的apk
  3. Django基础之模型层(02)
  4. 5000字长文,kurryluo 的自学编程之路
  5. 性能工具之linux三剑客awk、grep、sed详解
  6. 关于开箱即用的文档静态网站生成器VuePress
  7. layui table 使用table放输入框时控制每列的宽度
  8. Vue $emit
  9. My Idol:Beihai Zhang --<<The Three-body Problem>>
  10. Spring:Spring的各jar包依赖及作用详解