图结构练习——判断给定图是否存在合法拓扑序列
来源:互联网 发布:mac开机什么都没有 编辑:程序博客网 时间:2024/06/06 03:50
Problem Description
给定一个有向图,判断该有向图是否存在一个合法的拓扑序列。
Input
输入包含多组,每组格式如下。
第一行包含两个整数n,m,分别代表该有向图的顶点数和边数。(n<=10)
后面m行每行两个整数a b,表示从a到b有一条有向边。
Output
若给定有向图存在合法拓扑序列,则输出YES;否则输出NO。
Example Input
1 0
2 2
1 2
2 1
Example Output
YES
NO
#include<bits/stdc++.h>using namespace std;bool Map[105][105];int dis[105];void sorttp();int n, m;int main(){ while(cin >> n >> m) { memset(Map, 0, sizeof(Map)); memset(dis, 0, sizeof(dis)); while(m --) { int x, y; cin >> x >>y; Map[x][y] = 1; dis[y] ++; } sorttp(); }}void sorttp(){ int i, j, k; int flag = 0 ; for (i = 1; i <= n; i ++) { flag = 0; for (j = 1; j <= n; j ++) { if (dis[j] == 0) { flag = 1; dis[j] = -1; for (k = 1; k <= n; k ++) { if (Map[j][k]) { dis[k] --; } } break; } } if (flag == 0) break; } if (flag == 1) cout << "YES" << endl; else cout << "NO" << endl;}
阅读全文
0 0
- SDUT 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT2140_图结构练习——判断给定图是否存在合法拓扑序列(邻接表)
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- SDUT OJ 2140 图结构练习——判断给定图是否存在合法拓扑序列
- sdut 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- 图结构练习——判断给定图是否存在合法拓扑序列
- Linux SSh scp使用【远程文件/目录的传输】
- spring security 从入门到精通一 环境搭建
- 算法心得
- 1014. 福尔摩斯的约会 (20)
- structs,报错:There is no Action mapped for action name xxx(jsp页面在webcontent下某个文件夹下的请求)
- 图结构练习——判断给定图是否存在合法拓扑序列
- 电容式 指纹识别 android 智能硬件
- Android Bitmap
- xcode问题解决记录
- myeclipse创建maven项目
- 2017.05.31:Mysql+Python 余弦相似度
- windows下的一些dos技巧
- CUDA初探—环境配置
- iOS让界面更加流畅的几个技巧