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