图结构练习——判断给定图是否存在合法拓扑序列
来源:互联网 发布:江苏海纳船务知乎 编辑:程序博客网 时间:2024/05/16 08:56
图结构练习——判断给定图是否存在合法拓扑序列
Time Limit: 1000MS Memory limit: 65536K
题目描述
给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。
输入
输入包含多组,每组格式如下。
第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n<=10)
后面m行每行两个整数a b,表示从a到b有一条有向边。
输出
若给定有向图存在合法拓扑序列,则输出YES;否则输出NO。
示例输入
1 02 21 22 1
示例输出
YESNO
提示
来源
赵利强
示例程序
非课本方法
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <queue>using namespace std;int n, m, count, flag;int map[11][11], visit[11];int dfs(int x){ visit[x] = -1; //表示正在访问..... (莫名其妙) for(int i = 0; i < n; i++) //遍历节点所在行的所有边,如果有关系,就是说两个节点之间有连线 { if(map[x][i] == 1) { if(visit[i] == -1) //当访问到正在访问的节点,就是说它自身成环了 return 0; else if(visit[i] == 0 && dfs(i) == 0) //如果没有访问过,但是以下一个节点成环了 return 0; } } visit[x] = 1; //标记为访问 return 1;}int topo(){ for(int i = 0; i < n; i++) //遍历所有节点,如果节点没有遍历过,先去深搜,并判断它自己是不是成环,成环直接跳出,不然遍历所有的节点 { if(visit[i] == 0) //当节点没有被遍历,就让节点去dfs(),通过返回的值判断是否成环 { if(dfs(i) == 0) return 0; } } return 1;}int main(){ while(cin >> n >> m) { memset(map, 0, sizeof(map)); memset(visit, 0, sizeof(visit)); for(int i = 0; i < m; i++) { int a, b; cin >> a >> b; map[a - 1][b - 1] = 1; } int y = topo(); if(y == 1) cout << "YES" << endl; else cout << "NO" << endl; } return 0;}
0 0
- SDUT 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT2140_图结构练习——判断给定图是否存在合法拓扑序列(邻接表)
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT OJ 2140 图结构练习——判断给定图是否存在合法拓扑序列
- sdut 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- hdu 5724 Chess (SG函数)
- 3076. 【备战NOIP2012图论专项模拟试题】位图 (Standard IO)
- Round Numbers--杨辉三角,组合数学
- java基础学习之Layout2
- HDU 1711 裸KMP,附KMP模板
- 图结构练习——判断给定图是否存在合法拓扑序列
- 【51Nod】1242 - 斐波那契数列的第N项(矩阵快速幂)
- Java与Java web开发教程网站之IBM developer
- NVL,NVL2
- matrix
- Activity之间简单数据传递
- JavaScript中的setInterval用法
- 树结构练习——判断给定森林中有多少棵树
- 图片加载js loading