题目描述

小华和小为是很要好的朋友,他们约定周末一起吃饭。

通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达),求小华和小为都能到达的聚餐地点有多少个?


输入描述

第一行输入m和n,m代表地图的长度,n代表地图的宽度。

第二行开始具体输入地图信息,地图信息包含:

0 为通畅的道路

1 为障碍物(且仅1为障碍物)

2 为小华或者小为,地图中必定有且仅有2个 (非障碍物)

3 为被选中的聚餐地点(非障碍物)


输出描述

可以被两方都到达的聚餐地点数量,行末无空格。

示例1  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4 4

2 1 0 3

0 1 2 1

0 3 0 0

0 0 0 0

输出

2

说明

第一行输入地图的长宽为3和4。

第二行开始为具体的地图,其中:3代表小华和小明选择的聚餐地点;2代表小华或者小明(确保有2个);0代表可以通行的位置;1代表不可以通行的位置。

此时两者能都能到达的聚餐位置有2处。

示例2  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4 4

2 1 2 3

0 1 0 0

0 1 0 0

0 1 0 0

输出

0

说明

第一行输入地图的长宽为4和4。

第二行开始为具体的地图,其中:3代表小华和小明选择的聚餐地点;2代表小华或者小明(确保有2个);0代表可以通行的位置;1代表不可以通行的位置。

由于图中小华和小为之间有个阻隔,此时,没有两人都能到达的聚餐地址,故而返回0。

备注:

地图的长宽为m和n,其中:

4 <= m <= 100

4 <= n <= 100

聚餐的地点数量为 k,则

1< k <= 100

#解题想法:把每个人可能到达的地点全部用dfs求出,再通过原来的l中目的地为3和这两个人是否
都能到达来获取结果测试用例:
4 4
2 1 0 3
0 1 2 1
0 3 2 0
0 1 0 0while 1:try:import copym, n = input().split(" ")m = int(m)n = int(n)l = []for _ in range(m):s = list(map(int, input().split()))l.append(s)#深度赋值l,因为dfs函数会改变传入参数ll的值,所以用一个复制一个l1= copy.deepcopy(l)   l2 =copy.deepcopy(l)tmp=[]for i in range(m):for j in range(n):if l[i][j]==2:tmp.append([i,j])res1 = [[0] * m for _ in range(n)]res2 = [[0] * m for _ in range(n)]px=[-1,0,1,0]py=[0,-1,0,1]def dfs(ll,res,i,j,flag):for index in range(0,len(px)):new_x=i+px[index]new_y = j + py[index]if new_x<m and new_x>=0 and new_y<n and new_y>=0 and ll[new_x][new_y]!=1 and not flag:ll[new_x][new_y]=1res[new_x][new_y]=1dfs(ll,res,new_x,new_y,flag)ll[new_x][new_y]=0flag = Falsedfs(l1,res1,tmp[0][0],tmp[0][1],flag)flag = Falsedfs(l2, res2, tmp[1][0], tmp[1][1], flag)print("初始条件")for line1 in l:print(line1)print("第一个人可到达的路线")for line2 in res1:print(line2)print("第二个人可到达的路线")for line3 in res2:print(line3)result=0for i in range(m):for j in range(n):if l[i][j] == 3 and res1[i][j]==1 and res2[i][j]==1:result+=1print()print("result:",result)except:break

华为OD机试真题:欢乐的周末相关推荐

  1. 【华为OD机试真题 JAVA】欢乐的周末

    JS版:[华为OD机试真题 JS]欢乐的周末 标题:欢乐的周末 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 小华和小为是很要好的朋友,他们约定周末一起吃饭.通过手机交流,他们 ...

  2. 华为OD机试真题大全完整目录

    华为OD机试真题大全完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:华为OD机试真题大全 数量:406篇博文(2023年5月16日截止) 更新时间至:2023年5月16日(后续加上去的博文,会每 ...

  3. 【华为OD机试真题 python】连续出牌数量【2022 Q4 | 200分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  4. 【满分】【华为OD机试真题2023 JAVAJS】查找充电设备组合

    华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里 查找充电设备组合 时间限制:5s 空间限制:256MB 限定语言:不限 题目描述: 某个充电站,可提供n个充电设备,每个充电设备均有对应的 ...

  5. 【满分】【华为OD机试真题2023 JAVAJS】查找重复代码

    华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里 查找重复代码 时间限制:1s 空间限制:32MB 限定语言:不限 题目描述: 小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的 ...

  6. 【华为OD机试真题2023 JAVA】不含101的数

    华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里 不含101的数 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 小明在学习二进制时,发现了一类不含101的数,也就是: ...

  7. 【华为OD机试真题 python】补种未成活胡杨 【2022 Q4 | 100分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  8. 【华为OD机试真题 python】羊、狼、农夫过河【2022 Q4 | 100分】

    前言 <华为OD笔试真题 python> 专栏含华为OD机试真题.华为面试题.牛客网华为专栏真题. 如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流.我会尽可 ...

  9. 【华为OD机试真题 JAVA】热点网站统计

    JS版:[华为OD机试真题 JS]热点网站统计 标题:热点网站统计 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 企业路由器的统计页面,有一个功能需要动态统计公司访问最多的网页 ...

  10. 【华为OD机试真题 JAVA】找城市

    JS版: [华为OD机试真题 JS]找城市 标题:找城市 | 时间限制:1秒 | 内存限制:65536K | 语言限制:不限 一张地图上有n个城市,城市和城市之间有且只有一条道路相连:要么直接相连,要 ...

最新文章

  1. 下一代超大规模软件定义网络技术实践
  2. rust高级矿场_高级 Rust 所有权管理
  3. oracle数据库的性能测试工具有哪些,使用Oracle性能测试工具swingbench测试instance caging...
  4. Spring Boot + Mybatis 实现动态数据源
  5. Spring—集成Junit
  6. Python SHA1加密算法
  7. 计算机英语四六级对调剂有影响吗,你知道四六级对于考研的影响程度吗?
  8. python 列表切片学习
  9. 设计模式-结构型模式,适配器模式(4)
  10. 赚了20亿美元GandCrab勒索病毒家族的故事
  11. iOS打包ipa无签名打包企业签
  12. 参考文献标引方式_参考文献的标注方法有哪些呢?
  13. dos攻击的服务器修复,被dos攻击怎么解决
  14. 用css样式实现返回箭头
  15. PLX PCIe Switch使用
  16. 前端开发中自己常见问题
  17. 空气开关A型、B型、C型、D型的区别
  18. Java - parseObject
  19. 【计算机毕业设计】java 微信小程序商城系统的设计与实现
  20. 优势分析- 性格测试

热门文章

  1. 互联网电影院尝试破解实体院线排片难题
  2. 在Win10下删除快捷方式小图标,而不伤及其他注册表项的方法
  3. html中正方形圆角框,CSS高级技巧:圆角矩形
  4. 《团队-排课软件-开发文档》
  5. http://39.98.219.132 题库标准答案(题库序号:233)之插队问题
  6. 博客随笔《文章目录——php》大纲
  7. android 4.0.3固件,昂达平板即将发Android4.0.3优化固件
  8. DevE控件chartControl 基本用法
  9. lookback地址
  10. 泉州师范学院计算机课程表,泉州师范学院软学院 2010 级第 四 学期课程表.doc