题面描述

Ryan 最近迷上了弹幕游戏。所谓弹幕游戏,指的是玩家操控一位角色对来袭的大量敌人进行攻击,并在过程中升级、强化自我的能力,最终打败 Boss 的一类游戏。
“控制着主人公在枪林弹雨中穿行而不中弹的感觉真是太爽了!”—— Ryan作为一个资深弹幕游戏玩家, Ryan 现在已经不再执着于不中弹,了,而是把目光转移到了所谓的“擦弹”这种高端游戏方式上。
“擦弹”是指玩家紧靠子弹而又不中弹的行为。如图所示。图中“*”表示子弹,“ . ”表示空位。主人公每次可以往上下左右方向移动一格。按照箭头的走法,就可以擦到紫色的子弹,擦弹数量为 4 。
注意,一个子弹即使被擦弹多次,但只会被计 1 次。现在 Ryan 面前有一些固定不动的子弹,他想知道在不中弹的前提下,最大的擦弹数是多少。

输入数据

输入数据有多组,第一行是数据组数 T(T ≤ 50) 。每组数据的第一行为两个整数 n 和 m ,表示屏幕的规格是 nm(n 行 m 列 ) 。第二行为两个整数 x 和 y ,表示主人公起始点在 x 行 y 列。接下来 n 行是一个 nm 的矩阵,仅由 “*” 和 “.” 组成 (1 <= n, m <= 500, 1 <= x <= n, 1 <= y <= m) 。保证起始点一定没有子弹,即矩阵的 (x,y) 处一定为 “.” 。

输出数据

对每组数据在单独的一行中输出结果,格式为“ Case #k: result ” ( 冒号后有空格 ) ,表示第 k 组数据对应主人公最大的擦弹数量为 result 。

样例输入

心得:遍历的问题要想到递归、栈、循环这些。

def bfs(square, point):      count = 0      points = [point]      while len(points)>0:          temp = points.pop()          for i in range(4):              x = temp[0]+dx[i]              y = temp[1]+dy[i]              if x>=0 and x<=len(square)-1 and y>=0 and y<=len(square[0])-1 and square[x][y]!='$':                  if square[x][y]=='*':                      count += 1                      square[x][y] = '$'                      continue                  elif square[x][y]=='.':                      points.append([x,y])                      square[x][y] = '$'                      continue      return count    T = int(input())   # [dx[i],dy[i]]对应上下左右一个格子的移动
dx = [-1,1,0,0]
dy = [0,0,-1,1]
for t in range(T):      n,m = list(map(int, input().split()))      x,y = list(map(int, input().split()))      square = []      for i in range(n):          temp = input()          square.append([temp[i:i+1] for i in range(0,len(temp),1)])      point = [x-1,y-1]      print("Case #%d: %d"%(t+1,bfs(square, point)));

弹幕游戏:Ryan 最近迷上了弹幕游戏。所谓弹幕游戏,指的是玩家操控一位角色对来袭的大量敌人进行攻击,并在过程中升级、强化自我的能力,最终打败 Boss 的一类游戏...相关推荐

  1. 职场生涯规划中必须学会的十种能力

    职场生涯规划就是每个人根据自身的条件,作最佳的发展安排和,以在工作中充分了解自我的能力,发挥自我的潜能,做最好的自己.这便是职场生涯规划追求的. 职场生涯规划中必须学会的十种能力之一:学会投入 要及时 ...

  2. 校验码中码距与纠错能力的关系

    纠错编码的基本原理 1.        基本概念 为了方便对差错编码原理进行叙述下面先介绍一些基本术语. 1.        信息码元--指进行差错编码前送入的原始信息编码. 2.        监督 ...

  3. 游戏中应用强化学习技术,目的就是要打败人类玩家?

    来源:AI前线 作者:凌敏 采访嘉宾:黄鸿波 2016 年,DeepMind 公司开发的 AlphaGo 4:1 大胜韩国著名棋手李世石,成为第一个战胜围棋世界冠军的人工智能机器人,一时风头无两.Al ...

  4. java游戏最终boss烛龙_游戏中劝退玩家的变态小怪!神装扛不住它一击,难度秒杀最终BOSS?...

    原标题:游戏中劝退玩家的变态小怪!神装扛不住它一击,难度秒杀最终BOSS? 各大游戏中,许多变态BOSS经常让我们头痛不已. FF15中的精金龟就是其中的一位,562万点的超高血量和防御一度成为了不少 ...

  5. 【华为云技术分享】10分钟快速在华为云鲲鹏弹性云服务器上部署一个自己的弹幕网站!

    摘要:从零代码开始,10分钟快速开发一个可以发送弹幕的网站,并将其部署在华为云服务器上:学完本期教程,将知道如何使用Nginx.如何将自己的网站部署到云服务器上. 直播相信大家都不陌生了吧,大家经常会 ...

  6. 盗号***迷上DirectX,游戏玩家很无奈

    盗号***迷上DirectX,游戏玩家很无奈 最近,网民柱子在论坛求救,"我天天玩儿DNF,今天用***杀毒之后,再启动游戏程序时,就提示找不到dsound.dll." 金山毒霸安 ...

  7. 链接:https://ac.nowcoder.com/acm/challenge/terminal来源:牛客网 kotori最近迷上了摆气球的游戏。她一共有n种气球,每种气球有无数个。她要拿出若干

    牛客网一战到底题,有点小意思,估计很多人不知道为什么有60%的案例过不了. 原题链接:https://ac.nowcoder.com/acm/challenge/terminal 题目及说明: 题目描 ...

  8. 微信签到,弹幕在微信大屏幕上的实现,附实现效果截图

    微信签到,弹幕在微信大屏幕上的实现,主要分2步: 1.获取签到人的姓名和图片 点击"{签到地址}",出现签到界面 2.在大屏幕上显示 下载地址http://www.zrscsoft ...

  9. 使用强化学习快速让AI学会玩贪食蛇游戏(轻量级二十分钟训练+代码)

    如何让AI玩会贪食蛇,甚至比你厉害 概述 构建问题(强化学习求解的一般步骤) 环境 动作定义 状态定义 奖励设计 训练奖励值收敛图 采用第4种状态定义方法 初步训练效果 最终训练效果 模型泛化迁移能力 ...

  10. 让老鼠迷上玩《毁灭战士2》?这个匈牙利神经科学家做到了

    本文共2100字,建议阅读5分钟 让老鼠迷上了玩游戏. 当看到马斯克带着"猪队友"亮相Neuralink发布会的时候,你想到的是什么? 当时,匈牙利神经科学家Viktor Tóth ...

最新文章

  1. VS遇到的各种bug
  2. 元宇宙不是下一代互联网,而是人类群体思维空间或梦境世界的具现
  3. linux shell 提示符消失 终端提示符显示-bash-4.1# 解决方法
  4. 系统部署常见问题汇总
  5. 网络知识:宽带下载网速是30MB/s,经过路由器后仅10MB/s,看完你就懂了!
  6. 2008R2Win7管理九DNS冗余和恢复
  7. 有python基础学java_Python基础学习篇
  8. django2.1支持的mysql版本_一文解决django 2.2与mysql兼容性问题
  9. java 二叉树_拼多多Java开发1234面:二叉树+负载均衡+MySQL+Redis+高并发
  10. POI导入数据的过程中,遇到读取以科学计数法显示的数据
  11. PyTorch学习—17.正则化之weight_decay与dropout
  12. CrossApp环境搭建
  13. 程序识别验证码图片(一)
  14. eBPF系列学习(4)了解libbpf、CO-RE (Compile Once – Run Everywhe) | 使用go开发ebpf程序(云原生利器cilium ebpf )
  15. swiper跳转指定slides,其他路由跳转swiper指定slides
  16. 我的世界rpg服务器无限点卷无限金币地址,我的世界RPG插件无限刷任何物品 | 手游网游页游攻略大全...
  17. 忍者必须死3突然服务器维修,《忍者必须死3》3月25日停服维护公告
  18. Linux编辑器-gcc/g++使用
  19. CentOS7安装Stegsolve不报错
  20. css实现盾牌的动画效果

热门文章

  1. STC12C5A60S2最小系统
  2. STC12C5A60S2 双串口
  3. 360儿童手表显示服务器错误,360儿童卫士刷机常见问题与解决方法
  4. php多进程兑换电影票,通过读写同一个文件锁来解决并发!
  5. 供给侧结构性改革语境应对世界市场 国稻种芯百团计划行动
  6. PixiJS学习(5)几何图形
  7. 高数 07.04 多元复合函数的求导法则
  8. 长得好看,但没有男朋友是怎样的体验?
  9. python绝对值_python求绝对值的三种方法小结
  10. python球的表面积和体积代码_C语言求球的表面积和体积