poj 2367拓扑排序
来源:互联网 发布:底特律机场免税店mac 编辑:程序博客网 时间:2024/06/05 14:06
Source Code
Problem: 2367 User: fan1913068672Memory: 276K Time: 16MSLanguage: C++ Result: Accepted- Source Code
#include"iostream"#include"stack"#include"vector"#include"cstdio"using namespace std;vector< vector<int> > G;//采用邻接表保存图vector<int> degree; //度数表vector<int> is_in_stack;//判断是否入过栈vector<int> ans; //保存答案int n,m; //点数 弧数int topo_sort(){ stack<int> st; for(int i=1;i<=n;i++){ //先找到入度为0的点 压入栈中 if(degree[i]==0){ st.push(i); is_in_stack[i] = 1; //更新点的标志 } } while(!st.empty()){ int now = st.top();st.pop(); ans.push_back(now); for(int i=0;i<G[now].size();i++){//把邻接的点的度数更新 degree[G[now][i]]--; } for(int i=1;i<=n;i++){ if(degree[i]==0&&!is_in_stack[i]){//把更新之后的图中入度为0的点入栈 st.push(i); is_in_stack[i]=1; } } }}int main(){ while(cin>>n){ G.resize(n+1); is_in_stack.resize(n+1); degree.resize(n+1); for(int i=1;i<=n;i++){ int ed; while(scanf("%d",&ed)&&ed){ G[i].push_back(ed); } } for(int i=1;i<=n;i++){ is_in_stack[i]=0; for(int j=0;j<G[i].size();j++){ degree[G[i][j]]++; } } topo_sort(); int first = 1; for(int i=0;i<ans.size();i++){ if(first) {first = 0;cout<<ans[i];} //else cout<<"--->"<<ans[i]; else cout<<" "<<ans[i]; } cout<<endl; } return 0;}
0 0
- poj 2367 拓扑排序
- poj 2367 拓扑排序
- poj 2367 拓扑排序
- POJ 2367 拓扑排序
- POJ 2367 拓扑排序
- poj 2367拓扑排序
- poj 2367 拓扑排序
- 拓扑排序---(poj 2367)
- poj 2367(拓扑排序TopSort)
- 拓扑排序(poj 2367)
- POJ 2367 Genealogical tree 拓扑排序
- POJ 2367 Genealogical tree [拓扑排序]
- Poj 2367 Genealogical tree(拓扑排序)
- 【POJ】2367 Genealogical tree 拓扑排序
- POJ 2367:Genealogical tree(拓扑排序)
- POJ 2367 Genealogical tree 拓扑排序入门
- POJ 2367 Genealogical tree 拓扑排序
- POJ 2367 Genealogical tree(拓扑排序)
- java实现导出excel表到磁盘上(二)---封装
- mac(osx) apache无法启动 localhost无法访问服务器
- springMVC笔记系列(17 特别篇的开始)——springMVC要点回顾及idea开发环境搭建
- JavaWeb经典三层框架
- 欢迎使用CSDN-markdown编辑器
- poj 2367拓扑排序
- POJ 1121 Algernon's Noxious Emissions 已被翻译
- 拓扑排序
- fatal error: list: No such file or directory 生成so库出错
- LeetCode 77. Combinations
- AAMI EC57标准在ECG信号分类中的使用
- 各主流浏览器内核介绍
- java SWT:最有效的layout方法Control.requestLayout()
- 算法训练 图形显示