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

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. php 执行系统命令函数
  3. Windows Batch [精华]
  4. KDDockWidgets源码编译及安装
  5. 【Qt】2D绘图之涂鸦板
  6. vue3 v-model变化
  7. 【渝粤教育】广东开放大学 劳动关系理论与实务 形成性考核 (1)
  8. Spring定时器技术终结者——采用Scheduled注释的方式实现Spring定时器
  9. 不能错过的linux驱动开发的经典书籍推荐
  10. 服务器登记信息查询,勤哲Excel服务器数据查询
  11. Autodesk cad卸载不干净导致的无法安装问题解决
  12. 17、小写数字转大写数字
  13. 大学计算机考试常用函数,大学计算机二级考试 ExceL表格函数
  14. 软件开发人员电脑配置
  15. linux ubuntu git报错fatal: unsafe repository git config --global --add safe.directory解决方案
  16. java游戏繁体字名字,繁体字游戏名字你知道有几个?
  17. 卫生保健所短信群发模板:预约挂号、就诊提醒、检查结果通知
  18. appinventor2在window上搭建步骤
  19. 【Python】第二章 内置数据类型
  20. 第一章恶意软件静态分析基础

热门文章

  1. 竞赛表决心_决心在Excel中保持安全
  2. 煽情的儿子460=随笔
  3. 治疗近视弱视远视斜视
  4. 6.824-lecture11
  5. caliber读书软件_如何在无头服务器上运行gitbook(使Caliber在无头服务器上运行)?...
  6. android gradle所有版本列表
  7. touchesBegan: withEvent: 不执行/完美收起键盘
  8. 阿里云中间件开源往事
  9. QQ兴趣部落 大批量引流实战技巧
  10. 关于拉格朗日对偶问题中对偶性的理解