[HNOI2015]菜肴制作 - 洛谷

建反图跑字典序最大top_sort即可。

/*keep on going and never give up*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define db(x) cerr<<(#x)<<" "<<(x)<<" "<<endl;
#define endl "\n"
#define fast std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const double E = exp(1);
const double PI = acos(-1.0);
const int mod=1e9+7;
const int maxn=2e5+10;
struct node{int to,nxt;
}e[maxn]; int tot,head[maxn],in[maxn];
int n,m;
void add(int x,int y){ e[++tot]={y,head[x]};head[x]=tot;in[y]++;}
priority_queue<int>q;
vector<int>ans;
void top_sort(){for(int i=1;i<=n;i++){if(!in[i]) q.push(i);}while(!q.empty()){int now=q.top();q.pop();ans.push_back(now);for(int i=head[now];i;i=e[i].nxt){int v=e[i].to;if(!--in[v]) q.push(v);}    }
}signed main() {fastint t=1;cin>>t;while(t--){bool f=0;cin>>n>>m;tot=0;ans.clear();for(int i=1;i<=n;i++){head[i]=0;e[i]={0,0};in[i]=0;}for(int i=1;i<=m;i++){int x,y;cin>>x>>y;add(y,x);if(x==y) f=1;}top_sort();if(ans.size()<n) f=1;if(f) cout<<"Impossible!";else for(int i=ans.size()-1;i>=0;i--) cout<<ans[i]<<" ";cout<<endl;}
}

P3243 [HNOI2015]菜肴制作 (拓扑排序)相关推荐

  1. 洛谷P3243 [HNOI2015]菜肴制作——拓扑排序

    题目:https://www.luogu.org/problemnew/show/P3243 正向按字典序拓扑排序很容易发现是不对的,因为并不是序号小的一定先做: 但若让序号大的尽可能放在后面,则不会 ...

  2. bzoj 4010: [HNOI2015]菜肴制作 拓扑排序

    4010: [HNOI2015]菜肴制作 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/ ...

  3. 【luoguP3243】[HNOI2015]菜肴制作--拓扑排序

    题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1. 由于菜肴 ...

  4. P3243 [HNOI2015]菜肴制作(拓扑排序)

    P3243 [HNOI2015]菜肴制作 题目误导你正着做拓扑排序,然鹅你可以手造数据推翻它.于是就只能倒着做 我们开个优先队列,每次把可填的最大的编号取出来搞,最后倒着输出拓扑序就好辣 #inclu ...

  5. P3243 [HNOI2015]菜肴制作(拓扑 + 优先队列)

    题目描述: 知名美食家小 A 被邀请至 ATM 大酒店,为其品评菜肴.ATM 酒店为小 A 准备了 n 道菜肴,酒店按照为菜肴预估的质量从高到低给予 1 到 n 的顺序编号,预估质量最高的菜肴编号为 ...

  6. 洛谷P3243 [HNOI2015]菜肴制作(思维+反向拓扑)

    传送门 听说原本是紫题 需要先做 i i i 再做 j j j 的限制很自然的让人想到了拓扑排序,然而让编号较小的菜肴尽可能较早输出并不是要求得到最小字典序的答案!! 反面样例可见第三组输入数据,若按 ...

  7. B4010 菜肴制作 拓扑排序(附随机跳题代码)

    今天写了一个自己的随机跳题小程序,第一次试发现跳的全是不可做题,但是在周围我一眼看见了这个题,不能说一眼看出来,但是也是比较有思路,所以就做他了! 做得比较顺利,做完之后美滋滋,突然发现样例第三组过不 ...

  8. P3243 [HNOI2015]菜肴制作(拓扑排序、贪心)

    解析 很好的题 也就是我没做出来的意思 反向思维似乎是我欠缺的 这道题也是 也许做题时应该多特意往这边想想 当正向看并没有太好的性质时,也许反过来能使题目豁然开朗 容易想到暴力n方如何做 (以下均指反 ...

  9. 洛谷:P3243 [HNOI2015]菜肴制作(拓扑序列、建反图、贪心)

    美食家老嗨 题意: 很容易读偏,以为是求满足限制下的最小字典序. 要求是在满足所有限制后,优先做 1,此外优先做 2 - -- 摘自xyz32768 C o d e : Code: Code: #in ...

最新文章

  1. Matlab编程与数据类型 -- 奇数阶魔方矩阵的编程
  2. R语言dim函数返回NULL
  3. [补档][中山市选2011]杀人游戏
  4. ASP.NET Core Web API + Ng6 实战视频 Day 2
  5. AtCoder Beginner Contest 174 总结
  6. IndexedDB_Web 离线数据库
  7. 轻松解决远程链接的“Gtk-WARNING **: cannot open display;”或“Cannot connect to display;”问题
  8. 无向图的割顶、桥、BCC和eBCC相关
  9. Android应用视觉效果设计技巧
  10. (3)图像处理-cv2一些函数记录
  11. idea部署启动ssm项目
  12. 正弦余弦优化算法[记录]
  13. Tableau可视化技巧-让你的图表跟随时间动起来
  14. Python+Matplotlib绘制饼状图模拟南丁格尔玫瑰图
  15. 公众号内文章懒得翻,巧用搜索神器轻松搞定
  16. 用python画篮球场_如何使用 Python 创建一个 NBA 得分图
  17. 解决ssh packet_write_wait: Connection to 192.168.xx.xx port 22: Broken pipe的问题
  18. arcgis api for js地图符号的使用(使用Draw绘制图形)
  19. 2021年全国税收总收入占GDP比重15.10%[图]
  20. python入门--安装eclipse并配置PyDev插件(附Anaconda安装教程)

热门文章

  1. go-zero入门1
  2. 走近酷点KoolPoint,深度挖掘网管软件的设计细节
  3. 使用外网访问学校资源(西北工业大学)
  4. 洛谷P3203 弹飞绵羊
  5. 小波变换原理_小波变换教程(一):为什么需要小波变换
  6. 聚观早报 | 英伟达推「AI」超算;中国2030年前载人登月
  7. 打开word文档提示文件未找到_打开CAD图纸或文档提示缺少SHX文件,2850种CAD字体大全资源分享...
  8. 网站建设之优质软文“赢”销不可或缺
  9. java 滤镜_Java实现图片的滤镜效果
  10. 卷积神经网络之一维卷积、二维卷积、三维卷积