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

确定比赛名次

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 17142    Accepted Submission(s): 6794


Problem Description
有N个比赛队(1<=N<=500),编号依次为1。2,3。。。

。,N进行比赛。比赛结束后。裁判委员会要将全部參赛队伍从前往后依次排名,但如今裁判委员会不能直接获得每一个队的比赛成绩。仅仅知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。如今请你编程序确定排名。



Input
输入有若干组。每组中的第一行为二个数N(1<=N<=500)。M;当中N表示队伍的个数,M表示接着有M行的输入数据。接下来的M行数据中。每行也有两个整数P1。P2表示即P1队赢了P2队。

Output
给出一个符合要求的排名。输出时队伍号之间有空格。最后一名后面没有空格。

其它说明:符合条件的排名可能不是唯一的。此时要求输出时编号小的队伍在前。输入数据保证是正确的,即输入数据确保一定能有一个符合要求的排名。

Sample Input
4 3 1 2 2 3 4 3

Sample Output
1 2 4 3


代码:

 

二维数组

 

#include<stdio.h>
int map[510][510],vis[510],in[510],topo[510];
int n,m;
int toposort()
{int i,j,k=0,next;for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(!in[j]){next=j;break;}}topo[k++]=next;in[next]=-1;for(j=1;j<=n;j++){if(map[next][j]){in[j]--;}}}for(i=0;i<n;i++){printf(i==n-1?

"%d\n":"%d ",topo[i]); } } int init() { for(int i=1;i<=n;i++) { in[i]=0; for(int j=1;j<=n;j++) { map[i][j]=0; } } } int main() { int i,a,b; while(scanf("%d%d",&n,&m)!=EOF) { init(); for(i=1;i<=m;i++) { scanf("%d%d",&a,&b); if(map[a][b]) { continue; } map[a][b]=1; in[b]++; } toposort(); } return 0; }

 

邻接矩阵:

#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
using namespace std;
int in[510],map[510][510],topo[510];
int n,m;
priority_queue<int,vector<int>,greater<int> >q;
int toposort()
{int i,j,k=0,e;while(!q.empty()) //清空队列。 {q.pop();}for(i=1;i<=n;i++){if(!in[i])  //将入度为0的点入队; {q.push(i);}}while(!q.empty()){e=q.top(); //将队顶元素赋给e; q.pop();//删除队顶元素; topo[k++]=e; //将队顶元素放入topo数组中。 for(i=1;i<=n;i++){if(map[e][i]) //以e为顶点的边删去。 {in[i]--;if(!in[i]) //假设此时i的入度为0;将其入队 {q.push(i);}}}if(k==n) //全部点都已放入topo数组中; {for(i=0;i<n;i++){printf(i==n-1?"%d\n":"%d ",topo[i]);}}}
}
int init() //初始化; 
{for(int i=1;i<=n;i++){in[i]=0;for(int j=1;j<=n;j++){map[i][j]=0;}}
}
int main()
{int i,j,a,b;while(scanf("%d%d",&n,&m)!=EOF){init();for(i=0;i<m;i++){scanf("%d%d",&a,&b);if(map[a][b]) //去重边。 {continue;}map[a][b]=1;//a。b连接; in[b]++; //则b的入度+1; }toposort();}return 0;
}




 

转载于:https://www.cnblogs.com/zsychanpin/p/7267796.html

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

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

相关文章

计算机音乐奔跑,跑起来!100首最适合跑步的音乐

原标题&#xff1a;跑起来&#xff01;100首最适合跑步的音乐喜爱跑步、健身的人&#xff0c;都喜欢一边听音乐一边运动&#xff0c;而且会比没有音乐时燃烧脂肪速度要快&#xff0c;提高新陈代谢的能力&#xff01;小乐君今天给大家盘点100首全球最受欢迎的跑步音乐&#xff0…

python安装虚拟环境出现错误_virtualenv 安装虚拟环境问题 请大神指点一二

F:\Django学习>virtualenv Django-envUsing base prefix c:\\users\\帅帅\\appdata\\local\\programs\\python\\python36New python executable in F:\Django学习\Django-env\Scripts\python.exeInstalling setuptools, pip, wheel...Complete output from command F:\Djang…

危难时刻,每个人都应该站出来

转发一条同济医院发的我来给大家减轻一下恐慌。说实话目前这个肺炎传染性的确很强&#xff0c;但是重症发生率并不高&#xff0c;多出现在有基础疾病身体状况不好的老年人。一般患者就是自行隔离休息是最好的处理方式&#xff0c;一周也就恢复但是隔离需要14天&#xff0c;隔离…

计算机程序设计基础试题与答案,2018年4月自考计算机基础与程序设计02275试题及答案.doc...

页 PAGE \* MERGEFORMAT9第二部分非选择题二、填空题&#xff1a;本大题共l0小题&#xff0c;每小题l分&#xff0c;共10分。21&#xff0e;在计算机中&#xff0c;处理器一次运算能处理的二进制数的位数称为_______。22&#xff0e;真值为&#xff0e;1001 101的机器数是_____…

Maven整合Spring3.0+Mybatis3.2+Struts2.3+查找坐标+jar包依赖(五)

依赖传递 只添加了一个struts2-core依赖&#xff0c;发现项目中出现了很多jar&#xff0c;这种情况 叫 依赖传递 查找坐标 依赖版本冲突的解决 1、 第一声明优先原则 <dependencies><!-- spring-beans-4.2.4 --><dependency><groupId>org.springfra…

python cmd命令 循环传参数_将参数从cmd传递给python脚本

我在python中编写脚本并通过输入以下命令运行cmd&#xff1a;C:\> python script.py我的一些脚本包含基于标志调用的单独算法和方法.现在我想通过cmd直接传递标志,而不是必须进入脚本并在运行之前更改标志,我想要类似于&#xff1a;C:\> python script.py -algorithm2我读…

再见了,唠嗑

先是武汉&#xff0c;突然又是科比&#xff0c;真是难受&#xff0c;麻痹的&#xff0c;这世界是怎么了&#xff1f;开始看篮球就是从黑科比开始&#xff0c;后来&#xff0c;慢慢喜欢科比&#xff0c;这其中的转变&#xff0c;真的是因为他是一个勤奋刻苦的人&#xff0c;指引…

不使用杀毒软件就上网也不会感染计算机病毒,【判断题】不使用杀毒软件就上网也不会感染计算机病毒。 A. 正确 B. 错误...

【判断题】不使用杀毒软件就上网也不会感染计算机病毒。A. 正确B. 错误更多相关问题排烟窗应设置在排炯区域的顶部或外墙&#xff0c;关于应符合要求的说法&#xff0c;错误的是() A.当设置在外墙上时&#xff0c;排设备基础对机械设备安装精度影响的主要因素是()nA.基础的外形…

6.openldap客户端安装

作者:yaoyao 1.账号登录系统流程讲解 当在客户端输入账号登录系统时、系统根据/etc/nsswitch.conf配置文件获取账号查找顺序&#xff0c;然后在根据pam配置文件调用相关模块&#xff0c;对账号/etc/passwd及密码/etc/shadow进行查找并进行匹配&#xff0c;当本地匹配不成功时、…

尊重钟南山,但请也给我们哀悼科比

今天疫情更加严重了&#xff0c;睡了一觉&#xff0c;早上起来看到确诊人数又多出一千多人&#xff0c;按照这个增长速度&#xff0c;情况岌岌可危&#xff0c;想到我们这个小山村&#xff0c;刚好可以躲避疫情。早上我妈还跟我说&#xff0c;想去河池飞机场看看&#xff0c;辛…

计算机不断自动重启,电脑不断自动重启怎么办_解决电脑不断自动重启的方法...

有不少网友经常遇到电脑经常自动重启的情况&#xff0c;但是又不知道是什么原因造成的&#xff0c;很是困惑。同时也很是影响我们使用电脑&#xff0c;那我们要怎么解决这一问题呢&#xff1f;下面小编就来为大家分享解决电脑不断自动重启的方法。解决方法如下&#xff1a;1、在…

疫情发展,大年初六

今天天气很好&#xff0c;早上看了肺炎的病情如下图这个是丁香医生的统计数据&#xff0c;腾讯也出了一份统计数据&#xff0c;截止到写这篇文章的时候&#xff0c;已经确诊人数为 7766 人&#xff0c;但是我觉得丁香医生里面的截图内容比较多&#xff0c;也没有一些诱导二维码…

string contains不区分大小写_String基础复习

01-字符串的常量池Stringpackage com.practise.string.heima.StringBase;/* java.lang.String类代表字符串。 API当中说&#xff1a;Java 程序中的所有字符串字面值&#xff08;如 "abc" &#xff09;都作为此类的实例实现。 其实就是说&#xff1a;程序当中所有的双…

ios实践之tableView顶部“弹簧”图片

大家可能注意到有些tableView的顶部图片&#xff0c;会随着你拉伸而跟着拉伸变大。 一种思路是将图片放置tableView的tableHeaderView上当tablview下移改变图片的frame达到效果。当然这个效果特别简单&#xff0c;高手可以略过。 import UIKitclass ViewController: UIViewCont…

程序员35岁职业危机

今天是第一天上班&#xff0c;有的在家里上班&#xff0c;有的在办公室上班&#xff0c;因为有一个wx群讨论疫情太多&#xff0c;暂时被停止使用&#xff0c;今天开始&#xff0c;写一些和职场和技术有关的东西。这篇文章是转的&#xff0c;但是作者是认识的&#xff0c;我觉得…

软件测试需求评审目的,需求评审的重要性

需求评审常见问题汇总&#xff1a;- 目标性需求没有沟通好&#xff0c;后面的需求变成空中楼阁。- 缺乏评审的可操作依据&#xff0c;遗漏评审内容。- 没有作好前期准备工作&#xff0c;导致评审时间长&#xff0c;效率低。- 没有选择合适的评审人员&#xff0c;无法获得有价值…

python模块的定义_Python基础编程 模块的引入与定义

模块定义什么是模块:一个py文件就是一个模块模块分为三类:内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种.自定义模块:自己写的模块第三方库(模块):各种大神写的一些模块,通过pip install....安装.6000种.模块的引入import引用模块发生三件事.​ \1. 将模块名…

[转载]我的WafBypass之道(upload篇)

现在位置&#xff1a; 首页 > 文章 > Web安全 > 正文 我的WafBypass之道&#xff08;upload篇&#xff09; 2016 /11/30 15:204,901沙发0x00 前言 玩waf当然也要讲究循序渐进&#xff0c;姊妹篇就写文件上传好了&#xff0c;感觉也就SQLi和Xss的WafBypass最体现发散性…

吕布是不是英雄?

马中赤兔&#xff0c;人中吕布 如果要说什么马跑得最快&#xff0c;最久&#xff0c;那一定是赤兔马&#xff0c;但是要能和赤兔马能匹配的&#xff0c;当时那个时期就一定是吕布了&#xff0c;自古美女配英雄&#xff0c;好马配好鞍&#xff0c;好马也一定要有一个好的主人&am…

浙江省计算机二级aoa成绩,浙江省计算机二级AOAEXCEL函数列表

函数名 DAY功能 计算参数中指定日期或引用单元格中的日期天数。 从一个文本字符串的第一个字符开始&#xff0c;截取指定数 LEFT 目的字符。 仅当所有参数值均为逻辑“假(FALSE)”时返回结 OR 果逻辑“假(FALSE)”,否则都返回逻辑“真 (TRUE)”。 返回在指定方式下与指定数值匹…