LCCUP——LCP63. 弹珠游戏
啊啊啊看完题解豁然开朗,还需要多做题,菜狗子
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
总结
从本题我学到了如下技巧
- 首先将那些容易出错的代码片段先写,防止脑子后面写成浆糊
- 对于图中控制方向的写法可以定义一个二维元组或者数组
DIRS = ((0, 1), (1, 0), (0, -1), (-1, 0)) #右下左上
,对于旋转来说通过模运算来实现,比如上面是顺时针的数组方向,对应0, 1, 2, 3,要改为逆时针则d = (d + 3) % 4,顺时针则d = (d + 1) % 4 - 洛谷有类似题(https://www.luogu.com.cn/problem/P1518)
LCCUP——LCP63. 弹珠游戏相关推荐
- LCCUP第三题弹珠游戏总结,附完整代码
LCCUP第三题弹珠游戏总结,附完整代码 if语句非必要不要将条件分段写,分段写可能会导致出现某些特殊情况时,代码出现莫名bug(这题我因为分段写导致dfs函数中途退出从而漏掉了某些结果) 写伪代码时 ...
- < 每日算法 - Javascript解析:经典弹珠游戏 >
每日算法 - JavaScript解析:弹珠游戏 一.任务描述: > 示例一: >示例二 二.题意解析 三.解决方案: 往期内容
- 《Arduino开发实战指南:LabVIEW卷》6.6 基于Arduino的弹珠游戏
6.6 基于Arduino的弹珠游戏 6.6.1 实现的功能 本节将使用LabVIEW及Arduino设计实现一个简单的弹珠游戏.该弹珠游戏规则为,左右移动挡板,使弹珠在矩形区域内运动而不掉落到矩形区 ...
- P7395 弹珠游戏(2021 CoE-I C)
Description 描述 Alice 对弹珠游戏已经有些厌烦了,她经常在电脑上玩这个游戏.她之所以感到厌烦是因为在这个游戏上她已经是专家级别,她总是能够和电脑打成平手. Alice 创造了一款新的 ...
- PyGame弹珠游戏双人改良版
# _*_ coding:utf-8 _*_ import pygame from pygame.locals import * from sys import exit__author__ = 'a ...
- 使用Scratch制作项目《弹珠游戏》
不知道大家有没有听说过这样一句话,"80后玩弹珠,90后玩游戏,00后怎么消遣业余时间?不是王者就是吃鸡." 作为一名90后,我们对打弹珠在熟悉不过了,今天,我们就来了解以下如果使 ...
- ZZULIOJ 1790 弹珠游戏
1790: 弹珠游戏 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 25 Solved: 20 SubmitStatusWeb Board Desc ...
- 【深度优先搜索】弹珠游戏
LCP 63. 弹珠游戏 题意:从边界(不包含四个角)射入弹珠,遇到W或E转向,终点为'O',最多走num步,问所有符合题意的起点. int dfs(x,y,d):从x,y走到'O',沿方向d,走的步 ...
- unity弹珠游戏-虚拟现实期末大作业(附下载链接)
unity弹珠游戏 Unity版本 2020.2.22 unity期末大作业,就是发射弹珠,相同的几个碰到一起会消失,游戏开始有游戏说明界面,点击开始进入游戏 游戏详情如下动态图所示: https:/ ...
最新文章
- 程序员学习视频教程汇总——(转载)
- 计算机:2014年考研大纲解析之数据结构
- 车和家李想:特斯拉加州经验难以直接复制到国内
- 进程控制块PCB结构体 task_struct 描述
- 网管型工业交换机的三大指标介绍
- python opencv输出mp4_Python玩转视频处理(四):视频按场景进行分割
- java 模拟电梯_java模拟电梯运行简单实现,swing界面
- python正则表达式操作指南_比较详细Python正则表达式操作指南(re使用)
- C/C++ 安全编码 —— 指针与内存
- HttpClient使用具体解释
- 2019配电安规电子版_2018年配电安规.docx
- 每个程序员都应该知道的事情
- 计算机视觉项目-银行卡卡号自动识别
- Debian 安装搜狗输入法 亲测有效 安装notepadqq出现gpg: no valid OpenPGP data found. 解决办法
- 【科普】1分钟帮你搞懂机械硬盘和固态硬盘
- PySpark与GraphFrames的安装与使用
- [词根词缀]fer/ferv/fid/fig/fin/firm/fix词根由来
- 检索有项目的教师信息mysql_学生成绩管理系统(六):项目总结
- springboot启动报错Bean with name ‘xxxxService‘ has been injected into other beans
- 小米android的手机根目录,小米手机用re模式进行刷机。把rom放进根目录,根目录是哪里?...
热门文章
- golang 引入外部包的三种方式:go get, go module, vendor目录
- 目莲救母,一个流传千年的故事。_拔剑-浆糊的传说_新浪博客
- C#在Panel控件中添加另外一个窗体
- linux如何查看磁盘状态,查看 linux 下磁盘或者状态
- 魔力耳朵php,真实魔力耳朵怎么样?这些原因让我做出了选择
- 2022 年 360反馈的好处(所有企业规模)
- 寻仙手游维护公告服务器停服更新,寻仙手游
- 2007 patindex函数的用法
- 华为鸿蒙操作系统学习(2):在Linux上面使用Docker构建鸿蒙code代码,搭建Dockerfile环境,并跑通构建代码Hi3516,但是使用同样的镜像构建Hi3581,构建失败。
- 美女福利图片API接口,免费好用