当前位置: 首页 > news >正文

徐州市城乡和住房建设局网站黄冈网站推广软件有哪些

徐州市城乡和住房建设局网站,黄冈网站推广软件有哪些,长沙做网站的,万方数据库题目 试题编号: 201312-5 试题名称: I’m stuck! 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   给定一个R行C列的地图,地图的每一个方格可能是’#’, ‘’, ‘-’, ‘|’, ‘.’, ‘S’, ‘…

题目

试题编号: 201312-5
试题名称: I’m stuck!
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  给定一个R行C列的地图,地图的每一个方格可能是’#’, ‘+’, ‘-’, ‘|’, ‘.’, ‘S’, ‘T’七个字符中的一个,分别表示如下意思:
  ‘#’: 任何时候玩家都不能移动到此方格;
  ‘+’: 当玩家到达这一方格后,下一步可以向上下左右四个方向相邻的任意一个非’#‘方格移动一格;
  ‘-’: 当玩家到达这一方格后,下一步可以向左右两个方向相邻的一个非’#‘方格移动一格;
  ‘|’: 当玩家到达这一方格后,下一步可以向上下两个方向相邻的一个非’#‘方格移动一格;
  ‘.’: 当玩家到达这一方格后,下一步只能向下移动一格。如果下面相邻的方格为’#’,则玩家不能再移动;
  ‘S’: 玩家的初始位置,地图中只会有一个初始位置。玩家到达这一方格后,下一步可以向上下左右四个方向相邻的任意一个非’#‘方格移动一格;
  ‘T’: 玩家的目标位置,地图中只会有一个目标位置。玩家到达这一方格后,可以选择完成任务,也可以选择不完成任务继续移动。如果继续移动下一步可以向上下左右四个方向相邻的任意一个非’#‘方格移动一格。
  此外,玩家不能移动出地图。
  请找出满足下面两个性质的方格个数:
  1. 玩家可以从初始位置移动到此方格;
  2. 玩家不可以从此方格移动到目标位置。
输入格式
  输入的第一行包括两个整数R 和C,分别表示地图的行和列数。(1 ≤ R, C ≤ 50)。
  接下来的R行每行都包含C个字符。它们表示地图的格子。地图上恰好有一个’S’和一个’T’。
输出格式
  如果玩家在初始位置就已经不能到达终点了,就输出“I’m stuck!”(不含双引号)。否则的话,输出满足性质的方格的个数。
样例输入
5 5
–±+
…|#.
…|##
S-±T
####.
样例输出
2
样例说明
  如果把满足性质的方格在地图上用’X’标记出来的话,地图如下所示:
  --±+
  …|#X
  …|##
  S-±T
  ####X

题目分析(个人理解)

  1. 此题一看就是走迷宫的题目,能否到达可以联想为小鼠走迷宫,题目要求输出的值满足两个条件1. 玩家可以从初始位置移动到此方格;2. 玩家不可以从此方格移动到目标位置。总结一句也就是输出小鼠可以到达且不是终点的位置有几个。如果找不到出口
    就输出‘I’m stuck!’。
  2. 首先想到DFS算法,注意,此题不同的是T即是终点也可选择作为起点,而S只能是起点,根据题目先建立一个长为r,宽为c的画布(地图), 接下来的R行每行都包含C个字符。它们表示地图的格子。地图上恰好有一个’S’和一个’T’, 还是选择二维列表作为存储器。
  3. 使用.append()方法追加写入(创建地图matrix),遍历地图找到初始出发点S,和终点T,并记录。dfs算法本身原理就是基于递归算法的,现在定义两个函数,第一个是关于S,此函数表示从S出发,能够到达的坐标点全部用一张新图记录,如果能够到达那就将新画布对应的坐标位置的值设置为1,如果到达不了就是默认值0,(画布是初始值为0的二维列表)。
  4. 下面进入条件判断的环节(dfs算法的代码结构就是在函数体内调用自己的一个子函数实现递归)在子函数内设置判断条件如果原画布是’#‘就说明到不了(墙壁),子函数的作用是将能够到达的点全部标记为1,下面进入判断,如果是ST+就可以上下左右都可以移动,如果是’|‘只能上下移动,如果是’-‘只能左右移动,’.‘只能向下移动。移动的判断条件有两个第一个是不能超出地图,第二个是值为0的地方(表示没走到过,现在用子函数来标记,能够走到的就标记为1,尤其注意,即使不是#,也有可能到达不了),在函数S的画布中标记了所有从S出发后能够到达的所有方格(标记为1),只需要把T点带入如果值为1则能到达,如果值为0我就输出(‘I’m stuck!’)。
  5. 下面再仔细读题,到达T后可以选择结束游戏,也可以继续,那么此时T就成了起点,那么还得再定义一个函数T,和函数S一样,再做一个画布,和S同样操作,将从T出发,能够到达的所有格子全部标记1。如果从S出发能到达T,就请找出满足下面两个性质的方格个数:
      1. 玩家可以从初始位置移动到此方格;
      2. 玩家不可以从此方格移动到目标位置。
  6. 那么一句话:就是求在S画布中标记,在画布T中未标记的方格有几个。只需要一个计数器,初始值为0,满足上面条件加1即可。
  7. 上代码!!!
# input
line = input()
nums = line.split()
R = eval(nums[0])
C = eval(nums[1])
matrix = []
for i in range(R):matrix.append(input())
# print(R,C)
# print(matrix)# find S and T
for i in range(R):for j in range(C):if matrix[i][j] == 'S':xS, yS = i, j
for i in range(R):for j in range(C):if matrix[i][j] == 'T':xT, yT = i, j# traverse from Sdef traverseS():def inner(x, y):if matrix[x][y] == '#':returnres[x][y] = 1if x < R - 1 and matrix[x][y] in 'ST+|.' and res[x + 1][y] == 0:inner(x + 1, y)if x > 0 and matrix[x][y] in 'ST+|' and res[x - 1][y] == 0:inner(x - 1, y)if y < C - 1 and matrix[x][y] in 'ST+-' and res[x][y + 1] == 0:inner(x, y + 1)if y > 0 and matrix[x][y] in 'ST+-' and res[x][y - 1] == 0:inner(x, y - 1)res = [[0 for i in range(C)] for j in range(R)]inner(xS, yS)return res# traverse from T reversely
def traverseT():def inner(x, y):if matrix[x][y] == '#':returnres[x][y] = 1if x < R - 1 and matrix[x + 1][y] in 'ST+|' and res[x + 1][y] == 0:inner(x + 1, y)if x > 0 and matrix[x - 1][y] in 'ST+|.' and res[x - 1][y] == 0:inner(x - 1, y)if y < C - 1 and matrix[x][y + 1] in 'ST+-' and res[x][y + 1] == 0:inner(x, y + 1)if y > 0 and matrix[x][y - 1] in 'ST+-' and res[x][y - 1] == 0:inner(x, y - 1)res = [[0 for i in range(C)] for j in range(R)]inner(xT, yT)return res# main
propt1 = traverseS()
propt2 = traverseT()
if propt1[xT][yT] == 0:print("I'm stuck!")
else:count = 0for i in range(R):for j in range(C):if propt1[i][j] == 1 and propt2[i][j] == 0:count += 1print(count)

举一反三

  1. 下面用一道蓝桥杯的题目练手:
    在这里插入图片描述
    样例输出:
    在这里插入图片描述
  2. 代码如下:
    在这里插入图片描述

总结

 	大学问
知道什么叫天高地厚
内心的天空 也要懂得探究
知道什么是海市蜃楼
人海的感受 也要去进修
知识跟世界细水长流
智慧用思考照明宇宙
我们懂得学问没尽头
学会怎么做事 再学做人的操守
我们懂得学习的理由
吸收是为了奉献 才能承先启后
生命不止坚毅与奋斗
有梦想才是 有意义的追求
成功不止付出与拥有
有承担才是 最高的成就
知识跟世界细水长流
智慧用思考照明宇宙
我们懂得学问没尽头
学会怎么自救 再学做人的操守
我们懂得学习的理由
力量要用来分享 才能承先启后
我们懂得学问没尽头
学会终身学习 才没辜负一番造就
我们懂得学习的理由
活出生命的光彩 才无愧于春秋
http://www.yayakq.cn/news/79641/

相关文章:

  • 局网站建设进入前十名h5免费制作平台火蚁邀请函怎么写
  • 表格布局的网站免费网站建设价格费用
  • 泰安网络公司推荐搜索引擎优化英文
  • 无锡建站方案域名注册 万网
  • 全球网站流量排名查询西安做网站设计公司
  • 西安市高新区建设局网站会展网站建设
  • 石河子网站设计平面设计很难学吗
  • 网站建设公司顺义发布外链
  • 做带支付平台的网站网站插件开发
  • php做在线直播网站wordpress 首页字数
  • 屏蔽网站推广聚名网官网登录入口
  • 网站301跳转代码wordpress 极简设计
  • 济南建设银行公积金网站自己在线制作logo免费模版
  • 网站设计开发环境建网站的宽带多少钱
  • 如何用ip地址做网站wordpress怎么增加页面
  • 重庆网站网页设计培训机构深圳模板网站建设公
  • 视频网站建设费用明细网站的关键字 设置
  • 成都网站推广营销微信成都住建局官网住建智慧建管
  • aspcms网站地图模板logo设计公司前十名
  • 淘宝运营跟做网站哪种工资高厦门行业网站建设
  • wordpress 搜狐视频合肥seo收费
  • 中国建设银行网站宁波网点企业文化建设方案
  • aspcms手机网站源码珠海关键词优化平台
  • 珠宝类网站建设中国铁建大桥工程局集团有限公司
  • html静态网站开发实验报告网站流量高有什么用
  • 找兼职做网站建设cms开发
  • 快速建立平台网站开发设计建站流程wordpress母公司
  • 加强和改进网站建设建设方案广州市建设厅官方网站
  • 贵安新区网站建设推广百度关键词指数查询工具
  • 福田做网站公司怎么选择专门做养老院的网站