[HDU-1285] 拓扑排序

hdu1285 拓扑排序+邻接矩阵(邻接表) 给出胜负关系,要求确定名次 阅读详情

拓扑排序的想法十分简单:找个访问的且入读为0的节点访问,然后标记该节点为访问,删除该节点,更新图中其他节点的入度,接着重复上述过程。

思路简单,程序也很好写,复杂度O(N^2)

/*
 * 拓扑排序 [HDU-1285]
 * mike-w
 * 2012-10-23
 */
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAXN 555

int f[MAXN][MAXN];
int in[MAXN];
int tag[MAXN];
int N, M;

int main(void)
{
	int i, j, t1, t2, head;

	while(scanf("%d%d", &N, &M)!=EOF)
	{
		memset(f, 0, sizeof(f));
		memset(in, 0, sizeof(in));
		memset(tag, 0, sizeof(tag));

		for(i=0; i<M; i++)
		{
			scanf("%d%d", &t1, &t2);
			f[t1][++f[t1][0]]=t2;
			in[t2]++;
		}

		for(i=0; i<N; i++)
		{
			for(j=1; j<=N; j++)
				if(!in[j] && !tag[j])
					break;
			head=j;
			printf("%d%c", head, i==N-1?'\n':' ');
			tag[head]=1;
			for(j=1; j<=f[head][0]; j++)
				in[f[head][j]]--;
		}
	}
	return 0;
}



 

RK3588 开启多窗口 这样就支持多窗口了。 阅读详情

相关推荐

ADC噪声参数博弈论:为何24位ADC的有效分辨率可能不如16位?

本文深入探讨了ADC噪声参数的核心矛盾,揭示了24位ADC有效分辨率可能不如16位ADC的根本原因。关键在于跳出单纯比较位数的误区,转而关注输入参考噪声这一绝对指标。文章通过分析参考电压对满量程范围和噪声模型的影响,阐述了动态范围与最小可测信号之间的取舍逻辑,为工程师提供了基于系统实际需求的ADC选型与噪声评估框架。

snow3的博客 704

HDU 1285 说一道拓扑排序

自从北京赛结束,就很不想碰拓扑,也没有碰拓扑。总觉得是自己一道拓扑废了老长时间,以致我们小队输得很惨。周一的校赛提交题目又很窒息,整个人废了两天,却又突然想开了。 HDU1285 是一道很常规的拓扑排序,模板题。看了下,网上有朋友将各种做法总结在一起,我也照葫芦画瓢一次。 //HDU 1285 拓扑排序 //AC #include<iostream> #include&...

117瓶果粒橙 433

100道测试工程师笔试的Linux笔试题及答案_网络安全工程师关于linux的笔试大题

47.Linux系统中,一般把命令 ls 定义为 ls --color 的别名,以便以不同颜色来标识不同类型的文件。但是,如何能够使用原先的ls命令?83.在xdm的配置目录中,哪个文件用来设置在用户通过xdm登录后自动起动的应用程序?45.你的系统使用增量备份策略,当需要恢复系统时,你需要按什么顺序恢复备份数据?84.命令 netstat -a 停了很长时间没有响应,这可能是哪里的问题?51.Linux中,提供TCP/IP包过滤功能的软件叫什么?88.TCP/IP中,哪个协议是用来进行IP自动分配的?

2401_84247760的博客 1054

HDU 1285 拓扑排序+优先队列

传送门HDU1285 拓扑排序+优先队列 注意坑点:输入时需要判断重边,否则入度会出错 #include<bits/stdc++.h> using namespace std; priority_queue<int,vector<int >,greater<int > > q;//升序优先排列 //priority_queue<int, ve...

ACMjiayou的博客 335

【ComfyUI专栏】ComfyUI 常用工作流下载与分享网址

首先我们来分享第一个网站,Openart 网站,这个网站同时也能提供比较多的其他类型。但是如果希望下载工作流,我们可以访问到如下的这个站点。作为ComfyUI的学习用户来说,我们通常需要借助他山之石来帮助我们快速成长,因此我们需要找到能够分享和下载的网址。,当前网站是综合性网站,在网站中可以下载各种不同的类型,其中工作流只是可以下载的非常小的部分。这个网站也可以浏览不同的工作流,这个工作流的地址和访问如下的站点。

技术与管理的平衡木- 7778

【Mode Management】AUTOSAR架构下RH850-F1KM芯片深度休眠配置实践

AUTOSAR架构下RH850-F1KM芯片深度休眠配置实践

qq_36056498的博客 1087

HDU1285 确定名次 拓扑排序

   Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。 Input 输入有若干组,每组中的第一...

weixin_30807677的博客 88

YOLOv11改进策略【卷积层】| arXiv 2025 YOLO-Master中的稀疏混合专家ES-MoE 动态路由提适配 + 稀疏激活降延迟,突破精度-效率权衡

ES-MoE(Efficient Sparse Mixture-of-Experts)是为解决传统YOLO类实时目标检测器的静态计算冗余问题而提出的稀疏混合专家模块。现有YOLO架构对所有输入场景采用统一的密集计算模式,导致简单场景资源浪费、复杂场景(如密集小目标、遮挡场景)计算不足,难以平衡检测精度与推理速度。ES-MoE引入实例条件自适应计算,通过动态路由机制为不同复杂度的输入分配差异化计算资源,突破传统静态架构的精度-效率权衡限制,同时适配实时检测的轻量化需求。

Limiiiing的博客 462

【HDU】1285 - 确定比赛名次(拓扑排序)

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 思路: 拓扑排序裸题,这里用优先队列的做法。拓扑排序就是每次将入度为 0 的数压入队列,优先队列可以使得压入队列的数按编号从小到大排序。 Code: #include <iostream> #include <queue> #include <cstring&...

360°顺滑 209

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

进阶01:Labview与OPC UA设备通信

LabVIEW通过OPC UA实现高效设备通信方案 本文介绍了使用LabVIEW与OPC UA设备通信的完整实施方案。OPC UA协议具有跨平台兼容、高安全性和高效数据交换等优势。实施步骤包括:1)安装NI OPC UA工具包;2)搭建模拟测试环境,使用OPC UA Simulation Server创建测试变量;3)编写LabVIEW程序,实现连接服务器、事件订阅、数据读写等功能。重点展示了通过用户事件实现设备主动触发的机制,当模拟变量值改变时自动触发LabVIEW事件处理。该方案验证了OPC UA在工业

weixin_38637405的博客 1400

hdu1285 拓扑排序+优先队列

给出几组比赛的胜负情况。判断最后的排名。根据题意这就是一个明显的拓扑排序问题了。 注意 如果因为可能的排名有多种情况,这时要保证编号小的在前。 题目输入的数据可能有重复边 拓扑排序 首先统计每个结点的入度。将度为0的结点编号放入队列(此题放入优先队列中)中。 然后进行循环: 取出队头结点,视作边的起点。 然后“删除与该点相连的边”,代码就是将这个图中的该边另一个结点(即终点)的入度减一; 如果减一以后,终点的入度变为了0,那么将终点的编号入队列。 判断队列是否为空,若不空,则回到1

果冻虾仁 2270

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

拓扑排序复习--HDU1285

纯拓扑排序 注意priority_queue的用法 //拓扑排序复习 HDU1285 #include&lt;bits/stdc++.h&gt; using namespace std; const int N = 505; int g[N][N]; int in[N]; int n, m; void topsort() { priority_queue&lt;int, vector&lt;...

qq_40628208的博客 201

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

HDU1285(拓扑排序(模板))

拓扑排序: 思想:1、在有向图中选择一个没有前驱的顶点并且输出 2、从图中删除该节点和所有以它为尾的弧。 重复上述步骤,知道全部顶点都已经输出,或者当前图中不存在无前驱的顶点为止。后面一种情况说明有向图中存在环。 HDU1285:http://acm.hdu.edu.cn/showproblem.php?pid=1285 package D0731; import java.ut

lhfight的专栏 835

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HDU 1285 确定比赛名次 拓扑排序

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1285思路输入的数据一定有解:拓扑排序,优先取出编号小的点。#include<cstdio> #include<queue> #include<iostream> #include<functional> #include<vector> #include<map> #include<cstring> #i

chen_minghui的博客 237

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

hdu 1285 (简单的拓扑排序)

题意:给出一些队伍之间的胜负关系,让你输出排名的先后顺序,如果排名相同则字典序小的先输出。 思路:这是一道裸的拓扑排序的题目。主要用来测一下板子。 下面给出几种不同的版本 判断的第一种方法:我们可以知道当前入度为0的节点一定是根节点,这时我们只要将其输出,并且拆除所有与根节点相连的边就行了(拆的时候别忘了同时更新节点的入度值)。 用邻接矩阵存储的 #include &lt;cstr...

yiqzq的博客 691

HDU - 1285 确定比赛名次(拓扑排序)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285题解:拓扑排序AC代码:#include <iostream> #include <cstdio> #include <cstring> #include <queue> using namespace std; int inDeep[550],n,m; int topo[550],t,G[500]

Infinity_Izayoi的博客 506

拓扑排序 HDU - 1285 【Topological sort】

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 思路:Toposort,每次找度==0。题目要求编号小的在前并用小顶堆 #include <iostream> #include <string> #include <algorithm> #include <queue> #include &l...

Haipai1998的博客 212

HDU - 1285 (直接拓扑排序)

链接: http://acm.hdu.edu.cn/showproblem.php?pid=1285 题意: 给定n个人的m组相对排序关系,求这n个人的拓扑排序(有多种排序情况时,取字典序最小的那种) 拓扑排序思路: 1. 先将顶点关系,转换为图里的关系,并通过顶点关系,初始化入度数组indegree(注意重边) 2. 找到入度为0的点,作为排序起点,若有多个,取序

怕什么真理无穷?进一寸有一寸的欢喜~ 736

HDU 1285 确定比赛名次(简单拓扑排序)

HDU 1285 确定比赛名次(简单拓扑排序) http://acm.hdu.edu.cn/showproblem.php?pid=1285 题意:给你N个点M条有向边,要求你输出字典序最小的拓扑排序序列. 分析:前面已经做过很多这种题了,没什么说的直接输出字典序最小的拓扑序列即可.        注意:非递归求字典序最小的拓扑序列需要用到优先队列,且要是小值优先的队列.大致的思想就是队列

code 1161

HDU 1285 确定比赛名次(拓扑排序)

确定比赛名次 HDU 1285 模板题,按字典序输出拓扑排序,用到优先队列 我的代码 #include<bits/stdc++.h> using namespace std; const int maxn = 505; int n, m; int in[maxn], path[maxn]; vector <int> e[maxn]; void topsort(){ priority_queue<int , vector<int>, greater<i

Chancy_Lu的博客 197

hdu 1285 确定比赛名次(拓扑排序)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1285 拓扑排序: 给出一些小于关系,可以看做有向边 #include #include using namespace std; const int maxn=505; int c[maxn]; int ans[maxn],t,G[maxn][maxn],n,m; void toposort(){

智浩的博客 178

hdu1285确定比赛名次(字典序最小的拓扑排序)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285

Delacour_的专栏 2252

HDU - 1285 -确定比赛名次【拓扑排序】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 #include&lt;bits/stdc++.h&gt; using namespace std; const int maxn = 515; int mp[maxn][maxn]; int _in[maxn]; int ans[maxn]; int N, M; void init() {...

北里五井的博客 197
上一篇: 前序+中序->后序
下一篇: usaco 2008 oct water
creativewang
博客等级 码龄17年 20粉丝 203原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值