hdu 4857
来源:互联网 发布:linux x264命令 编辑:程序博客网 时间:2024/05/22 00:36
//反向拓扑+优先队列#include<iostream>#include<queue>#include<vector>#include<cstdio>#include<algorithm>#include<stack>#include<cstring>using namespace std;const int maxn = 30005;int main(){ int T; scanf("%d",&T); while (T--) { int n,m,p1,p2,Indegree[maxn]; memset(Indegree,0,sizeof(Indegree)); vector<int>edge[maxn]; stack<int>vex; priority_queue<int>que; //编号越大越先出队 scanf("%d%d",&n,&m); while (m--) { scanf("%d%d",&p1,&p2); edge[p2].push_back(p1); //邻接表储存,由p2指向p1 Indegree[p1]++; //p1入度数 } for (int i = 1;i <= n;i++) if (Indegree[i] == 0) que.push(i); //入度为0的人进入队列 while (!que.empty()) { int val = que.top(); que.pop(); vex.push(val); for (int i = 0;i < edge[val].size();i++) { if (--Indegree[edge[val][i]] == 0) que.push(edge[val][i]); } } int len = vex.size(); for(int i=0;i<len-1;i++) { printf("%d ",vex.top()); vex.pop(); } printf("%d\n",vex.top()); } return 0;}
阅读全文
0 0
- hdu 4857
- hdu 4857
- hdu--4857
- HDU 4857
- hdu 4857
- HDU 4857 逃生。
- hdu-4857-逃生
- hdu 4857 逃生
- HDU 4857 topological_sort
- HDU 4857 逃生
- HDU 4857 逃生
- hdu 4857(拓扑)
- hdu 4857 逃生
- HDU 4857 逃生
- HDU 4857:逃生【拓扑】
- hdu 4857 逃生
- HDU 4857 逃生
- hdu 4857 逃生
- 《汇编语言》(王爽)检测点2.2
- Bloom Filter原理介绍
- Xor Sum (01字典树)基础的字典树题目
- Wannafly模拟赛5 D Aria(全排列)
- Maximal GCD CodeForces
- hdu 4857
- 高级面试题-String-StringBuilder-StringBuffer 的区别
- 2017CCPC秦皇岛 M:Safest Buildings
- 2017.11.5总结
- 习题6.1
- 类的声明与定义
- 常见错误解决方式
- 1103
- Mybatis(第一阶段知识点)