确定比赛名次(深搜拓扑排序)

news/2024/7/15 17:39:54 标签: 算法, 深度优先, 图论

文章目录

  • 确定比赛名次(深搜拓扑排序)
  • 程序设计
  • 程序分析

确定比赛名次(深搜拓扑排序)

【问题描述】
有N个比赛队,编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。
【输入形式】
输入有若干组,每组中的第一行为二个数N,M;其中N表示队伍的个数,M表示接着有M行的输入数据。接下来的M行数据中,每行也有两个整数P1,P2表示即P1队赢了P2队。
【输出形式】
给出一个符合要求的排名。输出时队伍号之间有空格,最后一名后面没有空格。
其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入数据确保一定能有一个符合要求的排名。
【样例输入】
4 3
1 2
2 3
4 3
【样例输出】
4 1 2 3
提示:本题目要求用DFS算法求解拓扑排序。基本思想是:执行一次DFS遍历,并记住顶点变成死端(即退出遍历栈)的顺序。将该次序反过来就得到拓扑排序的一个解


http://www.niftyadmin.cn/n/235926.html

相关文章

威联通NAS文件共享 - 搭建SFTP服务并内网穿透实现在外远程访问

文章目录前言1. 威联通NAS启用SFTP2. 测试局域网访问3. 内网穿透3.1 威联通安装cpolar内网穿透3.2 创建隧道3.3 测试公网远程访问4. 配置固定公网TCP端口地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址4.3 测试使用固定TCP端口地址远程连接威联通SFTP转载自远程内网穿…

2014蓝桥杯国赛排列序数 C语言/C++

[蓝桥杯 2014 国 A] 排列序数 题目描述 如果用 a b c d 这 444 个字母组成一个串,有 4!244!244!24 种,如果把它们排个序,每个串都对应一个序号: abcd 0abdc 1acbd 2acdb 3adbc 4adcb 5bacd 6badc 7bcad 8bcda 9bdac …

C语言函数大全-- l 开头的函数

C语言函数大全 本篇介绍C语言函数大全-- l 开头的函数 1. labs&#xff0c;llabs 1.1 函数说明 函数声明函数功能long labs(long n);计算长整型的绝对值long long int llabs(long long int n);计算long long int 类型整数的绝对值 1.2 演示示例 #include <stdio.h> …

如何将GIS地图和可视化结合使用实现更好的数据呈现

GIS&#xff08;地理信息系统&#xff09;和可视化&#xff08;visualization&#xff09;是两个紧密相关的领域。GIS是一种用于管理、分析和展示地理空间数据的技术&#xff0c;而可视化则是一种用图形、图表、动画等形式展示数据的方式。GIS地图则是指基于地理信息系统技术&a…

数据分析----IQR(Interquartile Range)四分位距的理解与应用及Python实现

【原文链接】数据分析----IQR&#xff08;Interquartile Range&#xff09;四分位距的理解与应用及Python实现 一、IQR&#xff08;Interquartile Range&#xff09;四分位距的含义 1.1 IQR的官方定义 IQR 是用于标记离群值的另一种稳健方法。用于检测离群值的 IQR&#xff…

第57讲:MySQL存储过程的概念以及基本使用

文章目录1.存储过程的概念2.存储过程的基本使用2.1.存储过程的语法格式2.2.创建一个存储过程2.3.调用存储过程2.4.查看db_1数据库中有哪些存储过程2.5.查询存储过程的定义语句2.6.删除存储过程1.存储过程的概念 存储过程指的是能够完成特定功能的SQL语句集合&#xff0c;当程序…

使用java实现自动扫雷

写在前面 本项目已在github开源&#xff0c;链接https://github.com/QZero233/JavaAutoMinesweeper 本文的写作风格可能会有些奇怪&#xff0c;这是笔者的一次全新的尝试&#xff0c;后续会换回写blog的文风的 摘要 本文提出了一个全自动完成扫雷游戏的解决方案&#xff0c;…

《Vue3实战》 第八章 自定义指令

《Vue3实战》篇章整体栏目 ————————————————————————————— 【第一章】node.js/npm安装、配置 【第二章】创建项目和目录结构 【第三章】基础语法 【第四章】条件语句、循环语句 【第五章】计算、监听属性 【第六章】样式绑定和事件处理 【第七章】…