题目链接
http://acm.hdu.edu.cn/showproblem.php?pid=1285
思路每场比赛的结果我们可以看成一个有向图,从胜利的一方指向失败的一方,在这个有向图的入度为0的点就是最外层不能确定排名的点,然后我们按照编号从小到大排序,将这些点保存在ans中,然后我们将这些点的出度全部清空,然后再看下一层,这其实就是拓扑排序啦,只不过我们需要保证排名不唯一的情况下先输出编号小的队伍,那么我们可以用优先队列来维护这个拓扑排序,更多详情请看代码哦
代码#include
using namespace std;
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair
#define INF 0x3f3f3f3f
const int N = 5e2+10;
int n,m;
int du[N];
vector E[N];
void topsort(){
vector ans;
priority_queue que;
for(int i = 1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?