图结构练习—BFSDFS—判断可达性(BFS)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2138
注意该图为有向图,1000个点应该最多有1000*999条边。在这跪了一下。。。
- #include<stdio.h>
- #include<string.h>
- #include<queue>
- using namespace std;
- const int maxn=;
- int head[maxn],vis[maxn];
- int n,m,cnt;
- struct node
- {
- int u;
- int v;
- int next;
- } edge[maxn];
- void add(int u,int v)
- {
- edge[cnt].u = u;
- edge[cnt].v = v;
- edge[cnt].next = head[u];
- head[u] = cnt++;
- }
- int bfs(int s)
- {
- queue<int>q;
- q.push(s);
- vis[s] = ;
- while(!q.empty())
- {
- int u = q.front();
- if (u==)
- return ;
- q.pop();
- for (int j = head[u]; j!=-; j = edge[j].next)
- {
- int v = edge[j].v;
- if (!vis[v])
- {
- vis[v] = ;
- q.push(v);
- }
- }
- }
- return ;
- }
- int main()
- {
- while(~scanf("%d%d",&n,&m))
- {
- int u,v;
- cnt = ;
- memset(vis,,sizeof(vis));
- memset(head,-,sizeof(head));
- for (int i = ; i < m; i ++)
- {
- scanf("%d%d",&u,&v);
- add(u,v);
- }
- if(bfs(n))
- printf("YES\n");
- else
- printf("NO\n");
- }
- return ;
- }
图结构练习—BFSDFS—判断可达性(BFS)的更多相关文章
- 图结构练习——判断给定图是否存在合法拓扑序列(dfs算法(第一个代码),邻接矩阵(前两个代码),邻接表(第三个代码))
sdut 2140 图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个有向图 ...
- JavaScript实现图结构
JavaScript实现图结构 一.图论 1.1.图的简介 什么是图? 图结构是一种与树结构有些相似的数据结构: 图论是数学的一个分支,并且,在数学中,树是图的一种: 图论以图为研究对象,研究顶点和边 ...
- SDUT-2138_判断可达性
数据结构实验之图论三:判断可达性 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在古老的魔兽传说中,有两个军团,一个叫 ...
- 图结构练习——最短路径(floyd算法(弗洛伊德))
图结构练习——最短路径 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个带权无向图,求节点1到节点n的最短路径. 输 ...
- 图结构练习——最短路径(dijkstra算法(迪杰斯拉特))
图结构练习——最短路径 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个带权无向图,求节点1到节点n的最短路径. ...
- 图结构练习——最小生成树(kruskal算法(克鲁斯卡尔))
图结构练习——最小生成树 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 有n个城市,其中有些城市之间可以修建公路,修建不同的公 ...
- 图结构练习——最小生成树(prim算法(普里姆))
图结构练习——最小生成树 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 有n个城市,其中有些城市之间可以修建公路,修建不同 ...
- 数据结构(12) -- 图的邻接矩阵的DFS和BFS
//////////////////////////////////////////////////////// //图的邻接矩阵的DFS和BFS ////////////////////////// ...
- C++图结构的图结构操作示例
示例代码: /* By qianshou 2013/10/5明天就要开学了~哎~ */ #include<iostream> using namespace std; /********* ...
随机推荐
- R语言数据重塑
使用cbind()函数连接多个向量来创建数据帧.此外,使用rbind()函数合并两个数据帧 使用merge()函数合并两个数据帧.数据帧必须具有相同的列名称,在其上进行合并 melt()拆分数 ...
- centOS Linux下用yum安装mysql
centOS Linux下用yum安装mysql 第一篇:安装和配置MySQL 第一步:安装MySQL [root@192 local]# yum -y install mysql- ...
- div的浮动、清除浮动和布局
总结: 1.无序列表去除前面的小点点:list-style-type: none; 2.设置左浮动的间距. 外边距:margin :如果设定4个值就是,上右下左的顺序设置 如果设置3个值,那么左和右边 ...
- Vue(八)全局变量和全局方法
一.在main.js同级目录建立一个common.js文件 // 全局变量 const globalObj = {}; // 定义公共变量 globalObj.name = '小明'; // 定义公共 ...
- 3.Linux的远程管理及网络下载
3.1 Linux的远程管理 3.1.1 远程管理概述 什么是远程管理: 1.为什么需要远程管理: 服务器通常是Linux系统,而服务器不可能一直在身边,所以就需要远程来操作服务器 企业中通常需要集群 ...
- 到Oracle官网下载 Oracle11 G 数据可和客户端操作
1.准备一个Oracle的官网账号 用户名:541509124@qq.com 密码:LR4ever.1314 2.在搜索框中输入Oracle 11 G 3.点击Database Downloadds ...
- Vue 安装教程
1.下载node.js https://nodejs.org/en/ 2.检查环境变量: npm init (初始化项目) npm i webpack vue vue-loader 安装依赖: npm ...
- 【codeforces 515C】Drazil and Factorial
[题目链接]:http://codeforces.com/contest/515/problem/C [题意] 定义f(n)=n这个数各个位置上的数的阶乘的乘积; 给你a; 让你另外求一个不含0和1的 ...
- Redis学习总结(1)——Redis内存数据库详细教程
1.redis是什么 2.redis的作者何许人也 3.谁在使用redis 4.学会安装redis 5.学会启动redis 6.使用redis客户端 7.redis数据结构 – 简介 8.redis数 ...
- TLE - Time Limit Exceeded
TLE - Time Limit Exceeded no tags Given integers N (1 ≤ N ≤ 50) and M (1 ≤ M ≤ 15), compute the num ...