拓扑排序
来源:互联网 发布:java反射机制的用途 编辑:程序博客网 时间:2024/06/06 00:59
拓扑排序
代码如下:
#include <stdio.h>#include <vector>#include <queue>using namespace std;#define N 101vector<int> edge[N];queue<int> q;int main(){int n, m;int inDegree[N]; // 统计每个结点的入度while (scanf("%d", &n) != EOF){if (n == 0) break;scanf("%d", &m);for (int i = 0; i < n; i++){inDegree[i] = 0;edge[i].clear();}while (!q.empty()) q.pop();while (m--){int a, b;scanf("%d%d", &a, &b);inDegree[b]++; // //又出现了一条弧头指向b的边,累加结点b的入度edge[a].push_back(b);}for (int i = 0; i < n; i++)if (0 == inDegree[i]) q.push(i); // 入度为0的结点入队int cnt = 0;while (!q.empty()){int nowP = q.front();q.pop();cnt++;for (int i = 0; i < edge[nowP].size(); i++)if (0 == --inDegree[edge[nowP][i]]) q.push(edge[nowP][i]);}puts(cnt == n ? "YES" : "NO");}return 0;}
0 0
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 【拓扑排序】
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- MySQL优化--索引
- CSS专题之动画
- OC学习 第五章 NSString和NSMutablestring的一些常用方法
- 霞雲
- iOS客户端的微信支付接入
- 拓扑排序
- windows程序托盘图标以及消息提示--基本知识(NOTIFYICONDATA)
- Unity3d之截图方法
- java IO流总结
- java1.8--OptionalInt,OptionalDouble,OptionalLong类
- 小解 ISCSI
- 拷贝VMware造成mac地址冲突的问题
- [TwistedFate]继承 初始化方法 便利构造器
- windows程序托盘图标以及消息提示--基本知识(Shell_NotifyIcon)