题意:有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。 (中文题面就不讲了)

主这题需要按字典序最小来排序,所以用优先队列代替队列完成拓扑排序就行。

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<queue>
 4 #include<algorithm>
 5 using namespace std;
 6 const int maxm=505;
 7
 8 int id[maxm],n,m;
 9 int ma[maxm][maxm];
10
11 void topo(){
12     priority_queue<int,vector<int>,greater<int> >q;
13     for(int i=1;i<=n;i++){
14         if(!id[i])q.push(i);
15     }
16     int cnt=0;
17     while(!q.empty()){
18         int u=q.top();
19         printf("%d",u);
20         if(++cnt==n)printf("\n");
21         else printf(" ");
22         q.pop();
23         for(int i=1;i<=n;++i){
24             if(i==u)continue;
25             if(ma[u][i]){
26                 id[i]--;
27                 if(!id[i])q.push(i);
28             }
29         }
30     }
31 }
32
33 int main(){
34     while(scanf("%d%d",&n,&m)!=EOF){
35         memset(ma,0,sizeof(ma));
36         while(m--){
37             int a,b;
38             scanf("%d%d",&a,&b);
39             if(!ma[a][b]){
40                 ma[a][b]=1;
41                 id[b]++;
42             }
43         }
44         topo();
45     }
46     return 0;
47 }

View Code

转载于:https://www.cnblogs.com/cenariusxz/p/4794883.html

hdu1285 拓扑序相关推荐

  1. 解题报告:NOIP2013 车站分级(拓扑序递推求解差分约束、建图优化O(n+m)) 超详细讲解

    本题是2013年NOIP普及组的压轴题 差分约束裸题. 计算当前线路中最小的级别(比较始发站和终点站). 整条线路中所有大于这个级别的都必须停靠 所有未停靠的站点的级别一定小于这个级别 也就是说所有未 ...

  2. hdu3342 拓扑序

    题意:一个QQ群里面有一群大神,他们互相帮助解决问题,然后互相膜拜,于是有些人就称别人是他师父,现在给出很多师徒关系,问是否有矛盾 拓扑序,按师徒关系建边直接拓扑序就行了. 1 #include< ...

  3. BZOJ3832 [Poi2014]Rally 【拓扑序 + 堆】

    题目链接 BZOJ3832 题解 神思路orz,根本不会做 设\(f[i]\)为到\(i\)的最长路,\(g[i]\)为\(i\)出发的最长路,二者可以拓扑序后\(dp\)求得 那么一条边\((u,v ...

  4. Weights Assignment For Tree Edges 树,拓扑序(1500)

    题意 : 给定n个结点的树和序列bbb和ppp,bib_ibi​表示i结点的父节点,其中broot=rootb_{root}=rootbroot​=root,现在要给树上的每个边赋正权值,使得每个结点 ...

  5. 字典序最小是什么意思_《拓扑序简介》第十六讲

    这是民科+大忽悠+地摊报告,我准备把拓扑序吹成天上有地上无.人见人爱.老幼咸宜.不买会后悔的什么东西.珍惜青春,珍惜钱包,请大家谨慎对待大忽悠.下面是回放视频的链接. 蔻享--共享科学.传播科学​ww ...

  6. CF1385E Directing Edges 拓扑序

    传送门 文章目录 题意: 思路: 题意: 给你一个图和若干个边,有些是有向边,有些是无向边,让你给无向边定向,使得最终的图是DAGDAGDAG. 思路: 题目让构造DAGDAGDAG,比较容易想到拓扑 ...

  7. HDU - 1811 Rank of Tetris 并查集 + 拓扑序 +me

    link 题意: 首先看到排名自然想到拓扑序,但是存在等于的情况,这就启发我们把等于的情况缩成一个点,让后在缩点后的图中进行拓扑即可. 对于不合法的情况当然是拓扑序没有遍历到应该遍历的点,所以只需要检 ...

  8. 【图论训练】最小拓扑序

    最小拓扑序 topsort.pas/c/cpp [题目描述] 给一个有向无环图,求其字典序最小的拓扑序. 一个拓扑序被认为字典序{pi}最小当且仅当对于任何其他拓扑序{qi},均存在正整数k,使得对于 ...

  9. hihocoder 1457 : 后缀自动机四·重复旋律7(后缀自动机+拓扑序BFS)

    #1457 : 后缀自动机四·重复旋律7 时间限制:15000ms 单点时限:3000ms 内存限制:512MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一段音乐旋律可以被表示为一段数构成 ...

最新文章

  1. 如何在保留订单的同时从列表中删除重复项?
  2. HDU 4831 Scenic Popularity 暴力模拟
  3. jsp mysql做登入界面_用jsp实现网站登录界面的制作,并连接数据库
  4. html5新的dom函数,从0到1: 实现一个虚拟 DOM(上)
  5. decimal简单问题
  6. 2009无线通信五大趋势 3G范围将覆盖全球
  7. 什么是顶尖的互联网产品经理?
  8. Java内存模型中的happen-before是什么?
  9. opencv-python学习笔记(十一)—— 图像处理之图像直方图
  10. javascript 简繁转换
  11. Ubuntu 16.04 4k屏高分辨率卡顿问题
  12. KODI插件图标显示排列
  13. Zoj 3587 Marlon's String (KMP 字符串拼接 前缀出现次数)
  14. winrar40天试用完了
  15. 33_ue4进阶末日生存游戏开发[拾取面板UI]
  16. 汇编计算机钢琴流程图,汇编模拟电子琴程序
  17. 分享一款完全免费、功能强大、可商用、可扩展的PHP文章管理系统
  18. PATH齐聚世界人工智能大会,近距离看懂平安的“城市折叠”
  19. 中国电话卡网络识别号
  20. -XX:ReservedCodeCacheSize设置太大导致regionserve无法启动

热门文章

  1. Java实现按名称、日期、大小对文件进行排序
  2. 用sk-learn的pipline的时候,现:TypeError: ‘Pipeline‘ object is not subscriptable
  3. 机器视觉:ransac算法详解
  4. php教程源码分享,php教程|php源码|php学习
  5. Liunx安装JDK,tomcat,mysql的依赖包命令
  6. 数据结构实验之链表五:单链表的拆分
  7. 【Socket网络编程】1.bind()和 INADDR_ANY 解析
  8. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR
  9. error C2665: “AfxMessageBox”
  10. 图解JVM垃圾回收算法