算法笔记-图--bfs
题目:PAT A1076
思路:
- 建立图;
- dfs便利的的深度不超过给定深度,但是采用BFS 把节点编号和层号建立结构点,控制
#include <iostream> #include <string> #include <queue> #include <vector> #include <algorithm>using namespace std;struct node {int id;int lay; };const int maxn = 100; vector<node> adj[maxn]; bool inq[maxn] = { false };int bfs(int s, int l) {int num=0;node start;start.id = s;start.lay = 0;queue<node> nodes;nodes.push(start);while (!nodes.empty()){node tem = nodes.front();nodes.pop();int cur = tem.id;for (int i = 0; i < adj[cur].size(); ++i){node next = adj[cur][i];next.lay = tem.lay + 1;if (inq[next.id] == false && next.lay <= l){num++;nodes.push(next);inq[next.id] = true;}}}return num; }int main() {node user;int w, l;cin >> w >> l;for (int i = 1; i <= w; ++i){user.id = i;int numfolw;cin >> numfolw;for (int j = 0; i < numfolw; ++j){int idfolw;cin >> idfolw;adj[idfolw].push_back(user);}}int check;cin >> check;for (int i = 0; i < check; ++i){fill(inq, inq + maxn, false);int tem;cin >> tem;int res=bfs(tem, l);cout << res << endl;}system("pause");return 0; }
- dfs便利的的深度不超过给定深度,但是采用BFS 把节点编号和层号建立结构点,控制
转载于:https://www.cnblogs.com/babyking1/p/6873727.html
算法笔记-图--bfs相关推荐
- 数据结构与算法学习笔记——图 C++实现
数据结构与算法学习笔记--图 C++实现 1 概念 2 图的表示方法 3 算法 3.1 拓扑排序 3.2 图的搜索算法 3.2.1 广度优先搜索(BFS) 3.2.2 深度优先搜索(DFS) 3.3 ...
- 《算法笔记》中文版 - 包括数组,链表,树,图,递归,DP,有序表等相关数据结构与算法的讲解及代码实现...
来源:专知本文为资源,建议阅读5分钟本文为你分享<算法笔记>中文版. https://github.com/Dairongpeng/algorithm-note 目录概览 第一节 复杂度. ...
- python 拓扑排序 dfs bfs_图遍历算法之DFS/BFS
在计算机科学, 图遍历(Tree Traversal,也称图搜索)是一系列图搜索的算法, 是单次访问树结构类型数据(tree data structure)中每个节点以便检查或更新的一系列机制.图遍历 ...
- 算法笔记练习 8.2 广度优先搜索(BFS) 问题 A: Jugs
算法笔记练习 题解合集 本题链接 题目 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were con ...
- 算法笔记(胡凡)学习笔记@Kaysen
本文旨在记录算法笔记学习过程中的收获和一些知识点,部分易错知识点只针对个人而言,CCF-CSP考试冲鸭!!! Chapter 2 C/C++快速入门(易错知识点) 2.1 基本数据类型 变量定义注意区 ...
- codeup墓地目录(算法笔记习题刷题笔记)
在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...
- 【算法笔记】极客时间 算法面试通关40讲 笔记 覃超
[算法笔记]极客时间 算法面试通关40讲 覃超 [算法笔记]极客时间 算法面试通关40讲 覃超 相关链接 在leetcode 上的题号 数组.链表: (堆)栈stack.队列queue 优先队列 哈希 ...
- 大话数据结构笔记-图
大话数据结构笔记-图 定义 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为 G(V,E), 其中 G表示一个图, V是图G中的顶点的集合, E是图G中边的集合. 顶点就是图中 ...
- 算法笔记知识点整理大全
每次刷题都觉得自己吃了知识点不全,基础不牢固的亏,刷题的时候目标也不明确,于是看完了算法笔记并把知识点归纳了一下,当然直接看书会更加详细,这个归纳只是学习时加深印象以及方便自己之后回顾而已:之后刷题大 ...
最新文章
- 并发编程下的性能定律(翻译)
- python的安装教程-python安装教程
- erlang虚拟机精要(2)-异步信号时间功能
- 【pytorch】model.train和model.eval用法及区别详解
- tensorflow官方posenet模型解析
- JS中的prototype、__proto__与constructor,原型和原型链
- 在C ++中将String转换为Integer并将Integer转换为String
- SQL语句Not IN优化方案
- 2020年到2021年计算机技术,2020年读计算机技术专业好不好
- c语言用二维数组学生姓名,C语言实验报告合集-_人人文库网
- Windows 10怎样不利用第三方付费软件实现对C盘的深度清理
- FW/IDS/WAF/IPS的区别
- 华为展望5G未来 安全问题成关键
- android飞信群发助手
- Vivado时序约束之—— set_max_delay、set_min_dealy(最大最小延迟约束)
- Android 数据库Sqlite的使用(1)
- 后台获取前台传递参数为null和空字符串的区别,以及sql拼接之if判断
- 用格里高利公式求π的近似值
- 补零与离散傅里叶变换的分辨率
- Ubuntu 13.04双显卡安装NVIDIA GT630M驱动
热门文章
- 我心目中的编程高手(转)
- centos amd双显卡_讯景RX590 AMD 50周年纪念版显卡评测
- python多线程下载百度网盘_python多线程突破百度云限速下载
- linux怎么重命名多个文件,在Linux中如何一次重命名多个文件详解
- openssh windows_WINDOWS环境配置SSH服务
- python转csv_python – 如何将.tsv转换为.csv?
- MySQL报错解决方案:2013-Lost connection to MySQL server
- BeautfuiSoup4解析器
- bzoj千题计划248:bzoj3697: 采药人的路径
- Linux命令:MySQL系列之五--SELECT单表查询、多表查询升级及删除,插入