UVA 10305 拓扑排序 删边法
来源:互联网 发布:软件意向购买书 编辑:程序博客网 时间:2024/06/03 12:56
#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<vector>using namespace std;const int maxn=105;int in[maxn],n;vector<int> edge[maxn];void init(){ for(int i=1;i<=maxn;i++) edge[i].clear(); memset(in,0,sizeof(in));}void solve(){ queue<int> que,res; for(int i=1;i<=n;i++) if(in[i]==0) { que.push(i); } res=que; while(que.size()) { int tp=que.front(); que.pop(); for(vector<int>::iterator it=edge[tp].begin();it!=edge[tp].end();it++) { in[*it]--; if(in[*it]==0) { que.push(*it); res.push(*it); } } in[tp]=-1; } while(res.size()>1) { printf("%d ",res.front()); res.pop(); } printf("%d\n",res.front()); res.pop();}int main(){ int m,x,y; while(scanf("%d%d",&n,&m)!=EOF&&(n||m)) { init(); while(m--&&scanf("%d%d",&x,&y)) { edge[x].push_back(y); in[y]++; } solve(); }}
0 0
- UVA 10305 拓扑排序 删边法
- Uva 10305 拓扑排序
- UVA 10305 拓扑排序
- uva 10305 拓扑排序
- uva 10305 拓扑排序
- uva 10305 拓扑排序
- uva 10305 基本拓扑排序
- uva 10305 简单拓扑排序
- UVA 10305 (拓扑排序 13.07.11)
- uva 10305 Ordering Tasks(拓扑排序)
- uva 10305 Ordering Tasks (拓扑排序)
- UVa 10305 Ordering Tasks (拓扑排序模板)
- [UVA 10305] Ordering Tasks (拓扑排序)
- UVa 10305 - Ordering Tasks 拓扑排序
- UVa 10305 Ordering Tasks(拓扑排序)
- UVa 10305 - Ordering Tasks 拓扑排序题解
- UVA - 10305 Ordering Tasks (拓扑排序)
- Ordering Tasks - UVa 10305 拓扑排序
- 一道题
- java 基础 - 构造函数
- 【t053】整数去位
- Ubuntu下安装QGIS
- VB查找sqlserver中是否存在某张表,不存在则创建
- UVA 10305 拓扑排序 删边法
- 这下好了,连热情都没了
- PAT B1012
- 【HDU 1251 统计难题】+ 字典树
- 欢迎使用CSDN-markdown编辑器
- java 基础 - 静态 static
- HTML5新特性总结
- 神经网络-LFR model
- 洛谷1372