def robot(command, obstacles, x, y):
xx = 0
yy = 0
tmp = []
for c in command:
if c == 'U':
yy += 1
if c == 'R':
xx += 1
tmp.append([xx, yy])
#print(tmp)
index, times= -1, -1
for i in range(len(tmp)):
tx, ty = tmp[i]
if (x-tx)%xx ==0 and (y-ty)%yy == 0 and (x-tx)//xx == (y-ty)//yy:
index, times = i, (x-tx)//xx
break
if index==-1:
return False
for ob in obstacles:
ox, oy = ob
oidx, otimes = -1, -1
for i in range(len(tmp)):
tx, ty = tmp[i]
if (ox - tx) % xx == 0 and (oy - ty)%yy == 0 and (ox - tx) // xx == (oy - ty) // yy:
oidx, otimes = i, (ox - tx) // xx
break
if oidx!=-1 and otimes!=-1 and (otimes<times or otimes==times and oidx<=index):
return False
return True

print(robot('URR', [[4, 2]],3,2))

LCP 03.机器人大冒险的更多相关文章

  1. LeetCode LCP 3 机器人大冒险

    题目解析: 对于本题主要的核心是对于一个指令字符串如“RURUU”,如果我们假设它的终点坐标为(8,8),其实只要统计指令字符串中的R的个数和U的个数(对于我给出的例子而言,num_R == 2,nu ...

  2. openfire的组件(Component)开发

    在之前的文章<Openfire阶段实践总结>中提到过一种openfire的扩展模式Compoent.本文将主要探讨对这种模式的应用与开发方法. 内部与外部组件介绍 在openfire中的许 ...

  3. libevent源码安装及Linux自动编译功能总结

    这个..那个..后来发现..直接用jumbo就可以安装libevent.不过,学习一些automake的知识还是有好处的. 03机器也安装了. 这几天在阅读libevent源码,发现参考资料是基于li ...

  4. 大数据入门到精通13--为后续和MySQL数据库准备

    We will be using the sakila database extensively inside the rest of the course and it would be great ...

  5. CentOS6安装各种大数据软件 第十章:Spark集群安装和部署

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  6. Redis安装、主从配置及aof使用

    找了02,03,04三台机器,04做主,02做从,03做客户端. 都使用jumbo install redis安装了Redis(server+client). 在 02 从的 ~/.jumbo/etc ...

  7. 【转载】使用事件模型 & libev学习

    参考这篇文章: http://www.ibm.com/developerworks/cn/linux/l-cn-edntwk/ 这里面使用的是 libev ,不是libevent Nodejs就是采用 ...

  8. 内网渗透_win_socks代理_reGeorg+proxifier

    遇到内网windows机器,如果想远程登陆,通常得通过代理,常用的nc.lcx 工具可满足要求. 如 lcx 示例: 两台机器上均上传lcx.exe 在 xp机器(公网)上执行 lcx.exe -li ...

  9. VMware搭建内网渗透环境

    网络结构: 攻击机:kali 192.168.1.103 DMZ区域:防火墙 WAN:192.168.1.104 LAN:192.168.10.10 winserver03 LAN:192.168.1 ...

  10. 【机器学*】k*邻算法-03

    心得体会: 需要思考如何将现实对象转化为特征向量,设置特征向量时记住鸭子定律1 鸭子定律1 如果走路像鸭子.说话像鸭子.长得像鸭子.啄食也像鸭子,那它肯定就是一只鸭子 事物的外在特征就是事物本质的表现 ...

随机推荐

  1. java应用定位高cpu占用几步操作

    1.top获取高cpu占用的pid,如266202.查看pid的线程情况, top -H -p 266203.把cpu高占用的线程号转为16进制,printf "%x" 26652 ...

  2. ubuntu安装deb时出现Unknown media type in type 'chemical/......

    Unknown media type in type 'chemical/......我找到了文件/usr/share/mime/packages/chemical-mime-data.xml. 在文 ...

  3. 提取show config命令结果

    import re import os # 从命令收集日志文件中,提取show config命令结果. file_list = os.listdir(os.getcwd()) dirname = os ...

  4. 山石网科HCSA学习笔记

    山石HCSA学习笔记 目录 山石HCSA学习笔记 1 山石防火墙基础知识 1.1 基础概念介绍 1.2 介绍StoneOS处理包的Flow过程? 2 系统管理 3 搭建实验环境 4 安全策略 5 NA ...

  5. ES6中的class对象和它的家人们

    在ES6中新增了一个很重要的特性: class(类).作为一个在2015年就出了的特性, 相信很多小伙伴对class并不陌生.但是在日常开发中使用class的频率感觉并不高(可能仅限于作者),感觉对c ...

  6. Express 项目 Cookie 不能保存在 Application 中

    在前后端分离项目中,因为跨域策略,所以 Cookie 不能存储在浏览器的 Application 中.只能在请求的响应头处看到有 Set-Cookie: 1️⃣前端发送请求添加 withCredent ...

  7. Spring Cloud Stream 消息驱动

    屏蔽底层消息中间件的差异,降低切换成本 , 统一消息的编程模型. 通过定义绑定器Binder 作为中间件. 实现应用程序与消息中间件的细节之间的隔离. 消息发送端: <dependencies& ...

  8. mysql-8版本优化建议

    mysql-8版本优化 参考官方文档:https://dev.mysql.com/doc/refman/8.0/en/

  9. 看了这本基础教程的书籍你还担心你的python学不好吗?

    python基础教程(第二版)PDF高清版免费下载地址: 提取码:chcj 值得花时间阅读的一本书 内容简介  · · · · · · 本书是经典教程的全新改版,作者根据Python 3.0版本的种种 ...

  10. Traefik官方文档以及翻译文档

    https://www.qikqiak.com/traefik-book/ https://doc.traefik.io/traefik/