![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论-BFS
Apollo-yyy
考研失败的华子5G工程师一枚
展开
-
喊山
L3-008. 喊山 时间限制 150 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生...原创 2018-03-25 15:33:50 · 549 阅读 · 0 评论 -
1013 Battle Over Cities
题目大意: 有n座城市m条路径(双向),k次查询。每次查询输入一座城市编号,若该城市被占领,则通往该城市的所有路径都被封闭,输出最少修建多少条路才能保证剩下的城市连为一体。 解题思路: 典型的联通块问题,就是找有几个联通块,DFS,BFS都可以写。我这里是BFS的做法。 代码如下: #include<iostream> #include<cstdio> #include&...原创 2018-10-20 14:08:29 · 181 阅读 · 0 评论 -
1099 Build A Binary Search Tree
题目大意: 输入一棵二叉查找树和n个数据,把这n个数据放入这颗树中,输出层次遍历序列。 解题思路: 按照二叉查找树中序遍历的特点(数据从小到大)得到二叉树的中序编号序列并把数据排序后对应插入到节点相应的下标,然后BFS输出层次遍历序列结果。 代码如下: #include<iostream> #include<cstdio> #include<fstream> ...原创 2019-02-14 17:09:31 · 385 阅读 · 0 评论 -
1020 Tree Traversals
题目大意: 给你二叉树结点数和后序,中序遍历结果,要求输出层次遍历的结果。 解题思路: 二叉树板子题,根据后序中序构建二叉树,然后通过BFS遍历输出层次序列即可。 代码如下: #include<iostream> #include<cstdio> #include<fstream> #include<set> #include<cmath&g...原创 2019-02-12 16:51:01 · 266 阅读 · 0 评论 -
1102 Invert a Binary Tree
题目大意: n个节点,依次给出每个节点的左右孩子节点下标,如果没有孩子用‘-’代替,要求从右到左输出层次遍历序列,然后输出翻转二叉树后的中序遍历。 解题思路: 使用静态链表构建二叉树,标记每一个孩子节点从而找出总的根节点,然后BFS输出层次遍历。中序遍历可以提前交换节点并保存在节点结构体中,正常输出中序遍历即可。 代码如下: #include<iostream> #include&l...原创 2019-02-12 17:42:13 · 260 阅读 · 0 评论 -
1076 Forwards on Weibo
题目大意: 在微博中,每个用户都可能被其他若干用户关注。每当该用户发布一条信息时,他的关注者就可以看到这条信息并选择是否转发它,且转发的信息也可以被转发者的关注者再次转发,但同一用户最多只转发该信息一次(信息的最初发布者不能转发该信息)。现在给出N个用户的关注情况(即他们各自关注了那些用户)以及一个转发层数上限L,并给出最初发送消息的因户编号,求在转发层数上限内消息最多会被多少用户转发——摘自《...原创 2019-02-19 10:31:04 · 215 阅读 · 0 评论 -
1094 The Largest Generation
题目大意: 给出一个族谱,找出人数最多的一代,输出这代人的人数和代数编号。老祖宗代数编号为1,。 解题思路: BFS遍历树赋值代数编号即可,当然DFS也可以,但是为了方便统计每一代人的人数还是用层次遍历更直观一些。 代码如下: #include<iostream> #include<cstdio> #include<fstream> #include<s...原创 2019-02-13 18:44:48 · 217 阅读 · 0 评论