打卡信奥刷题(2714)用C++实现信奥题 P3243 [HNOI2015] 菜肴制作

P3243 [HNOI2015] 菜肴制作

题目描述

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

由于菜肴之间口味搭配的问题,某些菜肴必须在另一些菜肴之前制作,具体的,一共有mmm条形如iii号菜肴必须先于jjj号菜肴制作的限制,我们将这样的限制简写为(i,j)(i,j)(i,j)

现在,酒店希望能求出一个最优的菜肴的制作顺序,使得小 A 能尽量先吃到质量高的菜肴:

也就是说,

  1. 在满足所有限制的前提下,111号菜肴尽量优先制作。

  2. 在满足所有限制,111号菜肴尽量优先制作的前提下,222号菜肴尽量优先制作。

  3. 在满足所有限制,111号和222号菜肴尽量优先的前提下,333号菜肴尽量优先制作。

  4. 在满足所有限制,111号和222号和333号菜肴尽量优先的前提下,444号菜肴尽量优先制作。

  5. 以此类推。

例 1:共444道菜肴,两条限制(3,1)(3,1)(3,1)(4,1)(4,1)(4,1),那么制作顺序是3,4,1,23,4,1,23,4,1,2

例 2:共555道菜肴,两条限制(5,2)(5,2)(5,2)(4,3)(4,3)(4,3),那么制作顺序是1,5,2,4,31,5,2,4,31,5,2,4,3

例 1 里,首先考虑111,因为有限制(3,1)(3,1)(3,1)(4,1)(4,1)(4,1),所以只有制作完333444后才能制作111,而根据 3,333号又应尽量比444号优先,所以当前可确定前三道菜的制作顺序是3,4,13,4,13,4,1;接下来考虑222,确定最终的制作顺序是3,4,1,23,4,1,23,4,1,2

222里,首先制作111是不违背限制的;接下来考虑222时有(5,2)(5,2)(5,2)的限制,所以接下来先制作555再制作222;接下来考虑333时有(4,3)(4,3)(4,3)的限制,所以接下来先制作444再制作333,从而最终的顺序是1,5,2,4,31,5,2,4,31,5,2,4,3。现在你需要求出这个最优的菜肴制作顺序。无解输出Impossible!(首字母大写,其余字母小写)

输入格式

第一行是一个正整数ttt,表示数据组数。接下来是ttt组数据。对于每组数据:第一行两个用空格分开的正整数nnnmmm,分别表示菜肴数目和制作顺序限制的条目数。接下来mmm行,每行两个正整数x,yx,yx,y,表示xxx号菜肴必须先于yyy号菜肴制作的限制。

输出格式

输出文件仅包含ttt行,每行nnn个整数,表示最优的菜肴制作顺序,或者Impossible!表示无解。

输入输出样例 #1

输入 #1

3 5 4 5 4 5 3 4 2 3 2 3 3 1 2 2 3 3 1 5 2 5 2 4 3

输出 #1

1 5 3 4 2 Impossible! 1 5 2 4 3

说明/提示

【样例解释】

第二组数据同时要求菜肴111先于菜肴222制作,菜肴222先于菜肴333制作,菜肴333先于菜肴111制作,而这是无论如何也不可能满足的,从而导致无解。

【数据范围】

100%100\%100%的数据满足n,m≤105n,m\le 10^5n,m1051≤t≤31\le t\le 31t3

mmm条限制中可能存在完全相同的限制。

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intt,n,m,x,y,cnt;intin[N],ans[N];vector<int>vec[N];priority_queue<int,vector<int>,less<int>>que;//也可以写成默认状态priority_queue<int>que;intmain(){ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);cin>>t;while(t--){cin>>n>>m;cnt=0;for(inti=1;i<=n;i++)ans[i]=in[i]=0;for(inti=1;i<=n;i++)vec[i].clear();//多测不清空,十年OI一场空for(inti=1;i<=m;i++){cin>>x>>y;in[x]++;vec[y].push_back(x);//反向建边}for(inti=1;i<=n;i++)if(!in[i])que.push(i);while(!que.empty()){intu=que.top();//优先队列打乱了原序,所以只能用top,而不能用front!!!que.pop();for(inti=0;i<vec[u].size();i++){intx=vec[u][i];in[x]--;//解放连边if(!in[x])que.push(x);}ans[++cnt]=u;//记录答案}if(cnt<n)cout<<"Impossible!";elsefor(inti=cnt;i>=1;i--)//倒着输出,原因看“算法分析”cout<<ans[i]<<" ";cout<<endl;}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1183237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新加坡硕士留学中介口碑排名揭晓,无隐形消费,服务透明可靠 - 留学机构评审官

新加坡硕士留学中介口碑排名揭晓,无隐形消费,服务透明可靠一。、新加坡硕士留学中介选择中的常见困惑与解答作为一名从业12年的新加坡留学规划导师,我经常被学生和家长问及:如何找到一家无隐形消费、服务透明可靠的…

基于STM32智能出租车计价器分时计费设计60X(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于STM32智能出租车计价器分时计费设计60X(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码产品功能描述&#xff1a; 本系统由STM32F103C8T6单片机核心板、1.44寸TFT彩屏、电机驱动电路、霍尔传感器、蜂鸣器报警、按键电路及电…

打卡信奥刷题(2715)用C++实现信奥题 P3361 Cool loves maids

P3361 Cool loves maids 题目背景 Cool 非常喜欢妹子&#xff0c;以至于 Cool 在百度上有一个非常神奇的 ID 【雾】。 题目描述 Cool 现在搞清楚了女生宿舍的地形。女生宿舍是由很多栋楼构成的&#xff0c;它们可以被抽象成 202020\times 202020 的方格。 Cool 的妹子们所处的地…

长沙最好的研究生留学机构,申请成功率高,专业团队助力留学之路 - 留学机构评审官

长沙最好的研究生留学机构,申请成功率高,专业团队助力留学之路一、长沙研究生如何选择高成功率的留学服务机构在长沙寻求研究生留学服务的学生,常会聚焦几个核心问题:本地是否有具备强大实力的机构?申请成功率究竟…

2026芜湖市英语雅思培训辅导机构推荐;2026权威出国雅思课程排行榜 - 苏木2025

基于2026年雅思官方考纲变革、芜湖本地备考需求调研及数万学员真实反馈,我们联合教育测评机构开展深度测评,聚焦镜湖区、鸠江区、戈江区、湾沚区四大区域雅思培训市场,梳理出兼具权威性与实用性的机构排行榜。雅思考…

涡流传感器金属探测检测识别金银铜铁STM32/51单片机DIY设计模块(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

涡流传感器金属探测检测识别金银铜铁STM32/51单片机DIY设计模块(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码产品功能描述&#xff1a; 涡流传感器金属检测工作原理&#xff1a; 根据法拉利电磁感应定律&#xff0c;金属导体…

多模态王炸!Transformer解锁跨域新能力!

Transformer 早不是当年只靠注意力机制的 “老架构” 啦&#xff01;现在的新玩法简直让人眼前一亮&#xff5e;轻量版卷出新高度&#xff0c;像 MicroViT 这样的模型&#xff0c;推理速度直接飙 3.6 倍&#xff0c;能耗还降了 40%&#xff0c;手机、边缘设备都能轻松跑起来。跨…

Excel公式不再神秘:用F9键和公式求值功能,像侦探一样解剖运算过程

面对嵌套五层的复杂公式&#xff0c;你是否曾感到绝望&#xff1f;无需重头学习&#xff0c;只需掌握Excel自带的“公式显微镜”。 01 困在公式迷宫的日常 这是一段Excel用户再熟悉不过的经历&#xff1a;你拿到一份报表&#xff0c;某个关键单元格的公式长得像天书&#xff1…

2026年闪测仪品牌TOP6选购指南:国际知名品牌与国产佼佼者全面解析 - 品牌推荐大师1

随着工业制造向高精度、智能化方向转型,闪测仪作为实现精密测量和质量把控的关键设备,已成为3C电子、汽车制造、新能源等行业不可或缺的质检工具。面对市场上琳琅满目的品牌,如何选择一家技术可靠、服务及时的供应商…

值得推荐的半导体不锈钢管来图定制厂家,前十名揭晓 - 工业品牌热点

2026年半导体产业持续高速扩张,上游核心材料与精密管件的定制化能力已成为芯片制造、封装测试企业保障产线稳定、提升良率的关键。无论是半导体不锈钢管的来图定制精度、洁净度控制,还是厂家的技术响应速度与全链条服…

2026宁德市英语雅思培训辅导机构推荐,2026权威出国雅思课程排行榜 - 苏木2025

基于2026年雅思考试趋势及宁德市本地备考需求,结合屏南县、寿宁县、周宁县、柘荣县、东侨经济技术开发区考生的真实反馈,本文通过权威全面的深度测评,聚焦雅思培训选课核心痛点,从性价比、提分效果、师资实力、个性…

2026龙岩市英语雅思培训辅导机构推荐,2026权威出国雅思课程排行榜 - 苏木2025

基于教育行业大数据调研、2000+真实学员反馈及多维度量化评估,本文针对龙岩市长汀县、上杭县、武平县、连城县及全市域雅思考生的核心需求,发布2026年度权威出国雅思课程排行榜。当前,龙岩地区雅思培训市场鱼龙混杂…

2026年分析知名的翻译服务专业公司,天使翻译公司口碑怎么样? - 工业品牌热点

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆企业,为有翻译需求的个人与企业选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:天使(上海)外语翻译有限公司 推荐指数:★★★★★ | 口碑…

2026宁德市英语雅思培训辅导机构推荐;2026权威出国雅思课程排行榜 - 苏木2025

基于雅思考试官方评分标准与2025-2026年宁德市语培行业数据,本次针对蕉城区、福安市、福鼎市、霞浦县、古田县及周边区域雅思考生需求,开展全面深度测评,结合第三方平台口碑排名、学员真实反馈与教学实效,推出权威…

2026皮革外观缺陷检测设备:赋能皮革生产质量管控 - 品牌排行榜

皮革作为广泛应用于服饰、家具、汽车等领域的重要材料,其外观质量直接影响产品价值与市场竞争力。皮革外观缺陷检测设备通过光学成像、机器视觉等技术,对皮革表面的划痕、色差、破损、杂质等缺陷进行自动化识别与分析…

治安管理处罚法:骂人违法

网址&#xff1a;治安管理处罚法&#xff1a;骂人违法

科心大心理专科收费项目详解 价格公开透明 无隐形消费 - 资讯焦点

科心大心理专科是深圳卫健委批准的正规失眠抑郁精神心理专科,坚守“合理检查、用药、收费、因病施治”原则,收费由市卫生局、工商局统一定价,全程透明,杜绝隐形消费与乱收费,为市民提供安心诊疗服务。以下为核心收…

毕业季必备:性价比最高的降AI率工具盘点,降迹灵AI最终夺魁! - 资讯焦点

宝子们!最近后台全是问“论文AI率太高被打回怎么办”“有没有靠谱的降AI率工具”“性价比高的降AI率工具推荐”的留言,尤其是毕业季临近,被降AI率折磨的同学真的太多了。现在不管是知网、维普这些国内检测平台,还是…

PDF文件加密了,怎么打印?

打开PDF文件之后发现不能编辑&#xff1f;不能打印&#xff1f;这种情况该如何解决&#xff1f;是否是PDF进行了加密呢&#xff1f; 首先确定一下打印机驱动是否正常&#xff0c;确定后&#xff0c;再查看PDF文件&#xff0c;如果PDF中的大多数功能按钮以及打印按钮都是灰色的…

深入 Flutter 自定义 RenderObject:打造高性能异形滚动列表 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …