【洛谷】B3644 【模板】拓扑排序 / 家谱树(用邻接表存储和其他题解不一样哦)

news2024/11/24 1:39:57

本薅蒻通过这次学到的知识点(本人认为好用的东西):

1:

 (情况适用于输入的x为0时结束输入)

2:

先输出“t”(就是因为这里wa了好几发,555555)

原本是在 

 if里面输出的,这样子会导致最后一个点输出不了,因为最后一个点已经没有下一个点了,这样子就会进不了for循环,更不用说if里面。

okk!

话不多说,上ACcode:

蹦蹦蹦:

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e2+10;
int ru[N],n,x;
vector<int>v[N];
queue<int>q;
void topsort() {//拓扑排序 
	while(!q.empty()) {
		auto t=q.front();
		q.pop();
        cout<<t<<" ";
		for(auto x:v[t]) {
			ru[x]--;
			if(ru[x]==0) {
				q.push(x);
			}
		}
	}
	return;//好习惯 
}
void solve() {
	cin>>n;
	for(int i=1; i<=n; i++) {
		while(cin>>x&&x) { //建图
			v[i].push_back(x);//x是i的后代
			ru[x]++;
		}
	}
	for(int i=1; i<=n; i++) {//入度 
		if(ru[i]==0) q.push(i);
	}
	topsort();
}
signed main() {

	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);//加速输入输出
	int tt=1;
	//cin>>t;
	while(tt--) {
		solve();
	}
	return 0;//好习惯
}

over~点赞点赞,算法能力暴涨!

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

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

相关文章

mysql通过存储过程解决ERROR 1060 (42S21): Duplicate column的问题

问题描述 实际的日常开发工作中&#xff0c;经常需要对现有表的结构作出变更&#xff0c;涉及到sql相关的操作&#xff0c;基本都通过初始化脚本来完成&#xff0c;如果初始化脚本运行失败或者遇到其他问题&#xff0c;可能导致sql部分执行&#xff0c;不分失败的问题&#xf…

ModaHub ——向量数据库Milvus特征向量和预写式日志教程

目录 特征向量 什么是特征向量 特征向量的优势 应用领域 预写式日志 数据可靠性 缓冲区设置 旧日志删除 特征向量 什么是特征向量 向量是具有一定大小和方向的量&#xff0c;可以简单理解为一串数字的集合&#xff0c;就像一行多列的矩阵&#xff0c;比如&#xff1a…

领域事件驱动(三)子域

上一章对领域层的相关概念做了阐述 应用服务 应用层作为展现层与领域层的桥梁&#xff0c;是用来表达用例和用户故事的主要手段。 应用层通过应用服务接口来暴露系统的全部功能。在应用服务的实现中&#xff0c;它负责编排和转发&#xff0c;它将要实现的功能委托给一个或多…

蓝桥杯刷题-1

文章目录 1.蓝桥杯官网2.蓝桥杯题目进入界面 及 题目详情3.题目解答过程及思路4.运行结果图5.解答代码展示6.ASCII表图例 大家好&#xff0c;我是晓星航。今天为大家带来的是 蓝桥杯刷题 - 1 -单词分析 相关的讲解&#xff01;&#x1f600; 1.蓝桥杯官网 题库 - 蓝桥云课 (l…

source insight小键盘在vim中不能使用数字(数字按键变英文)

文章目录 问题描述解决办法注意&#xff1a; 问题描述 在使用source insight登录远程服务器并使用vim编辑模式时&#xff0c;出现数字键盘的0-9变成了yxwvutsrqp情况。 解决办法 注意&#xff1a; 如果你点了save as…的话&#xff0c;会让你保存untitled.key文件到你指定的路…

Redis保姆级安装(windows版)

MySQL是一种传统的关系型数据库&#xff0c;我们可以使用MySQL来很好的组织跟管理我们的数据 但是MySQL的缺点也是很明显的&#xff01;他的数据始终是存在硬盘里的&#xff0c;对于我们的用户的信息经常不修改的内容用MySQL存储的确可以&#xff0c;但是如果要快速更新或者是频…

Excel的一些操作:移动列,添加索引

移动列 在 Excel 中移动列的 5 种方法——分步教程 选中某一列&#xff0c;然后鼠标放在边缘&#xff0c;移动到你想移动到的列 添加索引 例如&#xff0c;我想添加的索引列名为“index”&#xff0c;然后选中想要添加序列的行&#xff0c;点击“填充-->录入123序列”

顶部导航菜单组件的一种做法

今天来分享一款顶部导航的菜单做法&#xff0c;可以参考一下。 它的效果是这个样子的。虽然不算太好看&#xff0c;但是也能实现具体功能 &#xff0c;剩了不少时间。 废话不多说&#xff0c;直接上代码。 以下是html代码。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT…

【Spring】Bean的作用域与生命周期详情:请简述Spring的执行流程并分析Bean的生命周期?

前言 我们都知道&#xff0c;Spring框架为开发人员提供了很多便捷&#xff0c;这使得开发人员能够更加专注于应用程序的核心业务逻辑&#xff0c;而不需要花费大量时间和精力在技术细节上。作为一个包含众多工具方法的IoC容器&#xff0c;存取JavaBean是其极为重要的一个环节。…

vue + leaflet实现图标指定方向随机旋转

效果 github地址 官方示例Demo 安装leaflet-rotatedmarker npm install leaflet-rotatedmarker -S引入leaflet.rotatedmarker import leaflet-rotatedmarker实现 this.laryerGroup this.$L.layerGroup() data.forEach(item > {this.layerGroup.addLayer(this.getMarke…

【tomcat知识点和部署】

文章目录 一、tomcat概述1.1 tomcat的介绍1.2 tomcat的特点 二、tomcat核心组件2.核心组件的介绍2.1 Web容器2.2 servlet容器2.3 JSP容器2.4 Tomcat核心组件的请求方式&#xff08;交互方式&#xff09;2.4.1 Web容器2.4.2 JSP容器2.4.3 serverlet容器2.5 Tomcat处理请求&#…

第六章 linux调试器——gdb的使用

第六章 linux调试器——gdb的使用 一、前提1、debug与release2、gdb的安装 二、常用调试指令1、开始调试2、代码显示3、断点设置4、代码执行5、信息监控6、退出调试 一、前提 1、debug与release 程序最终的发布方式分成两种&#xff0c;一种是debug模式&#xff0c;一种是rel…

华为OD机试真题 Python 实现【机器人活动区域】【2023Q1 200分】

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出 一、题目描述 现有一个机器人&#xff0c;可放置于 M N的网格中任意位置&#xff0c;每个网格包含一个非负整数编号。当相邻网格的数字编号差值的绝对值小于等于 1 时&a…

redis-单节点安装

daemonize yes port 6379 bind 0.0.0.0 requirepass 123456 save 3600 1 300 100 60 10000dir /usr/local/redis dbfilename dump.rdb logfile redis.log pidfile redis.pid##save 3600 1 300 100 60 10000 ##3600秒(一小时),至少有一个值的话,会进行存盘 ##300秒(五分钟),至少…

探索性测试: 工具和方法的综合应用

1、前言 2、工具的使用 1、测试管理工具 2、缺陷跟踪工具 3、测试自动化工具 4、探索性测试工具 5、代码覆盖率工具 6、日志分析工具 7、网络抓包工具 8、数据库查询工具 9、并发和负载测试工具 10、安全测试工具 11、API测试工具 12、数据生成工具 13、异常处理和边界测试工具…

server2012远程桌面RDP120过期后修改

运行regedit 进入 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod &#xff0c;选中 GracePeriod 重启电脑Ok

572. 另一棵树的子树

另一棵树的子树 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def isSubtree(self, root: Optional[Tre…

ROS 编码器转Odom

双轮差速模型 移动距离 delta_dist (encoder_right encoder_left)/linesNum * circumference / 2; 旋转角度 Delta_th (float)(encoder_right - encoder_left) / wheel_track; 将移动距离转换到车体坐标系 delta_x cos(delta_th) * delta_dist; delta_y -sin(delta_th) * …

前端页面优化策略

目录 1 为什么要优化2 优化方案3 加载策略优化3.1 script执行时机3.2 预加载资源prefetch 和 preloaddns-prefetch 和 preconnect 4 骨架屏4 资源请求优化4.1 图片懒加载及异步解码方案 1 为什么要优化 从用户角度看&#xff0c;优化能够让页面加载得更快、对用户操作响应更及…

领域事件驱动DDD(一) 值对象以及实体

对领域事件驱动的一些知识的梳理&#xff08;以下内容是从内到外进行梳理&#xff09; 值对象&#xff1a;一个没有标识符的对象。 值对象通常不会被修改&#xff0c;而是通过创建新的值对象来表示不同的状态。 没有自己的生命周期&#xff0c;它们随着所属的实体或聚合根的…