hdoj4857逃生
Description
现在有n个人,从1标号到n。同时有一些奇怪的约束条件,每个都形如:a必须在b之前。
同时,社会是不平等的,这些人有的穷有的富。1号最富,2号第二富,以此类推。有钱人就贿赂负责人,所以他们有一些好处。
负责人现在可以安排大家排队的顺序,由于收了好处,所以他要让1号尽量靠前,如果此时还有多种情况,就再让2号尽量靠前,如果还有多种情况,就让3号尽量靠前,以此类推。
那么你就要安排大家的顺序。我们保证一定有解。
Input
然后对于每个测试数据,第一行有两个整数n(1 <= n <= 30000)和m(1 <= m <= 100000),分别表示人数和约束的个数。
然后m行,每行两个整数a和b,表示有一个约束a号必须在b号之前。a和b必然不同。
Output
Sample Input
1 5 10 3 5 1 4 2 5 1 2 3 4 1 4 2 3 1 5 3 5 1 2
Sample Output
1 2 3 4 5
反向建图,将大的优先级放前面,然后逆序输出
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
struct node
{int fu,qiong,next;
}ren[3000001];
int n,m,cut;
int die[3000001];
int cun[3000001];
int head[3000001];
void add(int x,int y)
{ren[cut].fu =x;ren[cut].qiong =y;ren[cut].next =head[x];head[x]=cut++;
}
void topo()
{ priority_queue<int>q;for(int i=1;i<=n;i++){if(die[i]==0)q.push(i);}int ans=0;while(!q.empty()){int first=q.top();cun[ans++]=first;q.pop();for(int j=head[first];j!=-1;j=ren[j].next ){die[ren[j].qiong]--;if(die[ren[j].qiong ]==0){q.push(ren[j].qiong );}}}for(int i=n-1;i>0;i--){printf("%d ",cun[i]);}printf("%d\n",cun[0]);
}
int main()
{ int t;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);memset(die,0,sizeof(die));memset(head,-1,sizeof(head));cut=0;int x,y;for(int i=0;i<m;i++){scanf("%d%d",&x,&y);add(y,x);die[x]++;}topo();}return 0;
}
hdoj4857逃生相关推荐
- YTU 2899: D-险恶逃生 I
2899: D-险恶逃生 I 时间限制: 1 Sec 内存限制: 128 MB 提交: 130 解决: 55 题目描述 Koha被邪恶的巫师困在一个m*n的矩阵当中,他被放在了矩阵的最左上角坐标( ...
- 必看!程序员逃生指南
作者 | 八宝粥 设计 | 章敏 出品 | CSDN(ID:CSDNnews) 2020 艰难一年已经过去 ,2021 究竟如何,谁也不知道. 作为程序员,前有「大小周」,后有高科技坐垫"监 ...
- OSChina 周三乱弹 —— 程序员火灾逃生指南
2019独角兽企业重金招聘Python工程师标准>>> 秋天到了,风干物燥,请各位程序员小心火烛.万一身边发生火灾,请不要惊慌,按下面提示紧急逃生 话说回来,火灾是小概率事件,加班才 ...
- 洛谷 P1343 地震逃生
题目描述 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带,每条边都只能容纳一定量 ...
- 「洛谷P1343」地震逃生 解题报告
P1343 地震逃生 题目描述 汶川地震发生时,四川XX中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带, ...
- hdu-----(4857)逃生(拓扑排序)
逃生 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- 撬锁锤怎么用_安全锤是啥?消防蜀黍教你怎么选?如何快速破拆逃生?
逃生锤又叫安全锤,生活中很多地方都可以看到,公交车.地铁窗边都少不了它们的身影它的款式也是五花八门,那么问题来了当遇到突发状况被困车内时,哪种破窗工具最有效?又该如何快速逃生自救? 近日,消防部门进行 ...
- 计蒜客 逃生+动态规划
题目: 蒜头君在玩一款逃生的游戏.在一个 n×mn \times mn×m 的矩形地图上,蒜头位于其中一个点.地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一 ...
- hdu 4857 逃生 拓扑排序
逃生 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4857 Description 糟糕的事情发生啦,现在大家都忙着逃命.但是逃命的通道很窄,大家只 ...
最新文章
- 搭建远程linux,如何在远程Linux服务器上搭建Nginx?
- 内容流量管理的关键技术:多任务保量优化算法实践
- 算法设计与分析——算法思想总结
- 圈圈教你玩USB(第二版) 笔记
- 用计算机弹出记事本,为何电脑开机会弹出desktop的记事本出来的
- dell N4050声卡驱动安装后仍然没有声音,改装XP完美驱动IDT声卡!实测可用!
- 解决网易云课堂不能进入的问题
- 【TensorFlow】计算图graph的使用学习笔记(二)
- python中__init_subclass__方法用法详解
- Hazelcast IMDG参考中文版手册-第二章-入门
- axure强制签入签出
- 法院判错案如何追责?
- 武汉凭什么被列为国家超大城市?
- AutoCAD 2007官方.NET教程(一)(C#版)
- win10后端开发环境搭建
- 首次!TinyML低功耗边缘侧机器学习技术论坛-亚洲分会来到中国!
- vue项目某个APP页面实现手机物理按键返回、路由拦截、localStorage存取参数
- 中关村修电脑,被坑了
- 用聚合数据API(苏州实时公交API)快速写出小程序
- 首发:唯品会RPC服务框架与容器化演进