2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest(K. King's Rout)(拓扑排序)
来源:互联网 发布:淘宝销售量怎么算 编辑:程序博客网 时间:2024/04/29 05:58
King's Rout
题目链接:
http://codeforces.com/gym/100792/problem/K
解题思路:
将顺序反过来,然后再求拓扑排序。注意:最后将结果倒着输出。
AC代码:
#include <bits/stdc++.h>using namespace std;const int N = 200005;int n,m;int indegree[N];priority_queue<int> q;vector<int> v[N];vector<int> ans;void solve(int cur){ int len = v[cur].size(); for(int i = 0; i < len; ++i){ int tmp = v[cur][i]; --indegree[tmp]; if(!indegree[tmp]) q.push(tmp); }}int main(){ while(~scanf("%d%d",&n,&m)){ for(int i = 0; i <= n; ++i) v[i].clear(); ans.clear(); while(!q.empty()) q.pop(); memset(indegree,0,sizeof(indegree)); int a,b; for(int i = 0; i < m; ++i){ scanf("%d%d",&a,&b); ++indegree[a]; v[b].push_back(a); } for(int i = 1; i <= n; ++i) if(indegree[i] == 0) q.push(i); while(!q.empty()){ int cur = q.top(); ans.push_back(cur); q.pop(); solve(cur); } for(int i = n-1; i > 0; --i) printf("%d ",ans[i]);// 最后倒着输出。 printf("%d\n",ans[0]); } return 0;}
0 0
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest(K. King's Rout)(拓扑排序)
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest K. King’s Rout(拓扑排序)
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest K题:King's Rout [topo排序]
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest K
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest (C. Colder-Hotter)(二维猜数字)
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest A
- D. Do it Right!(2014-2015 ACM-ICPC, NEERC, Moscow Subregional Contest )
- F. Friends(2014-2015 ACM-ICPC, NEERC, Moscow Subregional Contest )
- 2016-2017 ACM-ICPC, NEERC, Moscow Subregional Contest K. Knights of the Old Republic kruskal
- 2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest G:Graph (构造,拓扑)
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest C. Colder-Hotter
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest A题:Anagrams [打表/规律题]
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest C题:Colder-Hotter [三分/交互题]
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest D题:Delay Time [暴力题]
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest H题: Hashing [基础DP]
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest I题:Illegal or Not? [暴力题]
- 2013-2014 ACM-ICPC, NEERC, Moscow Subregional Contest (2013区域赛练习)
- javascript-第三节-数组
- Apache,CDH和Cloudera三者有什么区别
- 关于java.util.Calendar类
- DOM(二)
- present动画效果
- 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest(K. King's Rout)(拓扑排序)
- Canvas参考
- Maven的生命周期阶段
- 《编程之美——微软技术面试心得》一摞烙饼的排序初体验
- GEEK编程练习— —寻找单个数
- MapReduce中job参数及设置map和reduce的个数
- centos 6.5下搭建DNS服务器
- hdoj-1233-还是畅通工程
- Linux 设备总线驱动模型