啊啊啊看完题解豁然开朗,还需要多做题,菜狗子

DIRS = ((0, 1), (1, 0), (0, -1), (-1, 0)) #右下左上class Solution:def ballGame(self, num: int, plate: List[str]) -> List[List[int]]:n, m = len(plate), len(plate[0])def check(x : int, y : int, d : int) -> bool :left = numwhile plate[x][y] != 'O' :if left == 0 : return Falseif plate[x][y] == 'E' :d = (d + 1) % 4if plate[x][y] == 'W' :d = (d + 3) % 4x += DIRS[d][0]y += DIRS[d][1]if not (0 <= x < n and 0 <= y < m):return Falseleft -= 1return Trueans = []for i in range(1, m - 1) :if plate[0][i] == '.' and check(0, i, 1) : ans.append([0, i])if plate[n - 1][i] == '.' and check(n - 1, i, 3) : ans.append([n - 1, i])for i in range(1, n - 1) :if plate[i][0] == '.' and check(i, 0, 0) : ans.append([i, 0])if plate[i][n - 1] == '.' and check(i, n - 1, 2) : ans.append([i, n - 1])return ans

总结

从本题我学到了如下技巧

  1. 首先将那些容易出错的代码片段先写,防止脑子后面写成浆糊
  2. 对于图中控制方向的写法可以定义一个二维元组或者数组DIRS = ((0, 1), (1, 0), (0, -1), (-1, 0)) #右下左上,对于旋转来说通过模运算来实现,比如上面是顺时针的数组方向,对应0, 1, 2, 3,要改为逆时针则d = (d + 3) % 4,顺时针则d = (d + 1) % 4
  3. 洛谷有类似题(https://www.luogu.com.cn/problem/P1518)

LCCUP——LCP63. 弹珠游戏相关推荐

  1. LCCUP第三题弹珠游戏总结,附完整代码

    LCCUP第三题弹珠游戏总结,附完整代码 if语句非必要不要将条件分段写,分段写可能会导致出现某些特殊情况时,代码出现莫名bug(这题我因为分段写导致dfs函数中途退出从而漏掉了某些结果) 写伪代码时 ...

  2. < 每日算法 - Javascript解析:经典弹珠游戏 >

    每日算法 - JavaScript解析:弹珠游戏 一.任务描述: > 示例一: >示例二 二.题意解析 三.解决方案: 往期内容

  3. 《Arduino开发实战指南:LabVIEW卷》6.6 基于Arduino的弹珠游戏

    6.6 基于Arduino的弹珠游戏 6.6.1 实现的功能 本节将使用LabVIEW及Arduino设计实现一个简单的弹珠游戏.该弹珠游戏规则为,左右移动挡板,使弹珠在矩形区域内运动而不掉落到矩形区 ...

  4. P7395 弹珠游戏(2021 CoE-I C)

    Description 描述 Alice 对弹珠游戏已经有些厌烦了,她经常在电脑上玩这个游戏.她之所以感到厌烦是因为在这个游戏上她已经是专家级别,她总是能够和电脑打成平手. Alice 创造了一款新的 ...

  5. PyGame弹珠游戏双人改良版

    # _*_ coding:utf-8 _*_ import pygame from pygame.locals import * from sys import exit__author__ = 'a ...

  6. 使用Scratch制作项目《弹珠游戏》

    不知道大家有没有听说过这样一句话,"80后玩弹珠,90后玩游戏,00后怎么消遣业余时间?不是王者就是吃鸡." 作为一名90后,我们对打弹珠在熟悉不过了,今天,我们就来了解以下如果使 ...

  7. ZZULIOJ 1790 弹珠游戏

    1790: 弹珠游戏 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 25  Solved: 20 SubmitStatusWeb Board Desc ...

  8. 【深度优先搜索】弹珠游戏

    LCP 63. 弹珠游戏 题意:从边界(不包含四个角)射入弹珠,遇到W或E转向,终点为'O',最多走num步,问所有符合题意的起点. int dfs(x,y,d):从x,y走到'O',沿方向d,走的步 ...

  9. unity弹珠游戏-虚拟现实期末大作业(附下载链接)

    unity弹珠游戏 Unity版本 2020.2.22 unity期末大作业,就是发射弹珠,相同的几个碰到一起会消失,游戏开始有游戏说明界面,点击开始进入游戏 游戏详情如下动态图所示: https:/ ...

最新文章

  1. 程序员学习视频教程汇总——(转载)
  2. 计算机:2014年考研大纲解析之数据结构
  3. 车和家李想:特斯拉加州经验难以直接复制到国内
  4. 进程控制块PCB结构体 task_struct 描述
  5. 网管型工业交换机的三大指标介绍
  6. python opencv输出mp4_Python玩转视频处理(四):视频按场景进行分割
  7. java 模拟电梯_java模拟电梯运行简单实现,swing界面
  8. python正则表达式操作指南_比较详细Python正则表达式操作指南(re使用)
  9. C/C++ 安全编码 —— 指针与内存
  10. HttpClient使用具体解释
  11. 2019配电安规电子版_2018年配电安规.docx
  12. 每个程序员都应该知道的事情
  13. 计算机视觉项目-银行卡卡号自动识别
  14. Debian 安装搜狗输入法 亲测有效 安装notepadqq出现gpg: no valid OpenPGP data found. 解决办法
  15. 【科普】1分钟帮你搞懂机械硬盘和固态硬盘
  16. PySpark与GraphFrames的安装与使用
  17. [词根词缀]fer/ferv/fid/fig/fin/firm/fix词根由来
  18. 检索有项目的教师信息mysql_学生成绩管理系统(六):项目总结
  19. springboot启动报错Bean with name ‘xxxxService‘ has been injected into other beans
  20. 小米android的手机根目录,小米手机用re模式进行刷机。把rom放进根目录,根目录是哪里?...

热门文章

  1. golang 引入外部包的三种方式:go get, go module, vendor目录
  2. 目莲救母,一个流传千年的故事。_拔剑-浆糊的传说_新浪博客
  3. C#在Panel控件中添加另外一个窗体
  4. linux如何查看磁盘状态,查看 linux 下磁盘或者状态
  5. 魔力耳朵php,真实魔力耳朵怎么样?这些原因让我做出了选择
  6. 2022 年 360反馈的好处(所有企业规模)
  7. 寻仙手游维护公告服务器停服更新,寻仙手游
  8. 2007 patindex函数的用法
  9. 华为鸿蒙操作系统学习(2):在Linux上面使用Docker构建鸿蒙code代码,搭建Dockerfile环境,并跑通构建代码Hi3516,但是使用同样的镜像构建Hi3581,构建失败。
  10. 美女福利图片API接口,免费好用