拓补排序

news/2025/3/14 11:47:12/文章来源:https://www.cnblogs.com/smdj/p/18771809
#include <bits/stdc++.h>
using namespace std;void topo()
{for(int i=1;i<=n;i++){//入度为0,则加入 答案 和 入度为0的点中if(IN[i]==0){zero_in.push_back(i);ans.push_back(i);}}while(!zero_in.empty()){int zp=zero_in.front();zero_in.erase(zero_in.begin());//取出 入度为0的点,并删除for(int i=head[zp];i;i=edge[i].nxt){int to=edge[i].to;//删除该点后,与之相连的子节点的入度就少了1IN[to]--;//删去该点后,子节点可能出现新的入度为0的点if(IN[to]==0){zero_in.push_back(to);ans.push_back(to);}}}
}int main() 
{cin>>n;for(int i=1;i<=n;i++){while(true){cin>>to;if(to==0) break;add(i,to);//记录每个点的入度IN[to]++;}}topo();return 0;
}	

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

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

相关文章

拆解米尔RK3576开发板:瑞芯微第二代AIoT平台如何实现高性价比边缘计算?

文章来源:硬件笔记本最近,AI的风刮得是真猛啊!各种AI工具层出不穷,仿佛一夜之间,人工智能就从科幻走进了现实。作为一名硬件工程师,我自然也按捺不住内心的激动,琢磨着怎么把AI和硬件结合起来,搞点有意思的项目。 这不,机会来了!刚好看到国内知名主板厂商米尔电子新推…

博客迁移~

感谢还在关注本博客的各位朋友 (▽) 我新开了一个博客站点,组织内容跟当前站点的风格不同一样,采用知识花园的形式,内容基本上是我 Obsidian 笔记中挑选出比较完善的部分进行发布,同样也会有像本博客一样的文章,今后大部分内容都会发布在新站点,当然也会适当同步一些文章…

安川机器人DX100示教器维修常见故障合集

在现代工业生产中,安川机器人发挥着极为重要的作用。然而,如同任何设备一样,它们也会遭遇故障,尤其是DX100示教器部分。安川机器人维修、YASKAWA机器人维修(YASKAWA是安川的英文品牌名)、工业机器人维修都是保障生产持续进行的关键环节。对安川机器人示教器维修中的常见故…

SpringSecurity5(5-自定义短信、手机验证码)

本文介绍如何在 Spring Security 中自定义验证码和短信验证码校验,包括生成验证码、存储与校验逻辑、过滤器配置及适配认证流程,确保用户安全登录,同时提升灵活性与可扩展性。适用于登录安全加固及自定义认证需求。图形验证码 SpringSecurity 实现的用户名、密码登录是在 Us…

NineData社区版抢先体验,获取无人机、双肩包、充电宝等周边福利

NineData社区版现已正式上线,支持通过 Docker 部署至本地,保障数据安全与操作留存在本地。为庆祝发布,NineData 开启技术体验官征文活动,邀请开发者分享安装、使用及优化建议等经验。活动设置丰厚奖品,包括大疆无人机、高级旅行箱等,并提供多种加分机制,如真实场景分享和…

EtherCAT转Profinet揭秘网关模块促成西门子PLC与伺服电机通讯的协议转换秘诀案例​

一. 案例背景 西门子1200PLC通过捷米特JM-ECTM-PN(EtherCAT转ProfiNet)网关将松下伺服电机(包括不限于型号MHMFO22D1U2M)或EtherCAT协议的其它设备或连接到ProfiNetPLC上,并在正常运行中支持EtherCAT协议。本产品可作为EtherCAT主站,做为西门子S7-1200系列PLC的从站并在监…

vcftools根据个体id提取数据和删除数据

001、vcftools根据个体id提取数据[b20223040323@admin2 test5]$ ls id.list outcome.vcf [b20223040323@admin2 test5]$ cat id.list GMM5 GMM6 GMM7 GMM8 [b20223040323@admin2 test5]$ grep "^#" outcome.vcf | tail -n 1 | cut -f 10- GMM1 GMM2 GMM3 G…

EtherCAT转Profinet网关助力协议转换推动西门子PLC与伺服电机通讯进程案例​

一、项目背景 在自动化生产系统中,经常会遇到不同品牌设备之间需要进行数据交互和协同工作的情况。本案例中,需要实现西门子1200PLC与松下A6B系列伺服驱动器的通讯,以实现对伺服电机的精确控制。由于两者采用不同的通讯协议,直接通讯存在困难,因此引入JM-ECTM-PN协议转换网…

No.64 Vue---vue引入第三方

一、Swiper官网: https://www.swiper.com.cn/ https://swiperjs.com/vue 安装swiper: 创建一个组件:MySwiper.vue<template><div class="hello"></div><swiper><swiper-slide><img src="D:\JS_proj\ES6Module116\VueDemo\vu…

魔方求解器程序(层先法,java版本)

实现了一个三阶魔方的层先法求解程序:https://github.com/davelet/java-puzzle-resolver 欢迎试用。用法 1. 随机试用 不关注起始状态的话可以用程序的随机拧乱工具打乱然后复原:private Cube cube;private CubeSolver cubeSolver;private CubeShuffler cubeShuffler;@Before…

8款热门CRM系统盘点!优缺点分析,帮你选对适合的!

现在做生意,客户就是金饭碗,谁能把客户维护好,谁就能在市场上占一席之地。 可是,客户多了,信息杂了,跟进不到位、管理混乱、流失率高……这些问题有没有让你头大?所以,一款好用的CRM(客户管理系统)真的太重要了!小编已经整理好的CRM系统模板,自取>>https://s…

微信内H5页面点击链接打开微信小程序

由于公司产品需求,需要在H5页面内打开小程序,查了微信文档解决了问题,解决如下: 1.打开小程序公众平台>账号设置>隐私与安全>配置明文scheme拉起此小程序 配置好后,在H5页面跳转到小程序 window.location.href = weixin://dl/business/?appid=*APPID*&path=…