hdu 确定比赛名次

算法:拓扑排序

题意:有一个比赛,现在知道很多队之间的关系;让你去让确定比赛排名;

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 <iostream>
#include <string>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <cstring> 
#include <stdio.h>
using namespace std;
int a[505][505],b[505],c[505];
int main()
{int n,m,i,j,k,p,q,w;while(cin>>n>>m){memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));for(i=1;i<=m;i++){cin>>j>>k;w=0;for(q=0;q<n;q++){   if(a[j][q]==k){ w=1;//标记是否会有相同关系出现 break;} else if(a[j][q]==0) {a[j][q]=k;break;}}if(w==0)b[k]++;}p=0;;while(p<n){for(i=1;i<=n;i++){if(b[i]==0) {c[p++]=i;b[i]=-1;for(j=0;j<n;j++){if(a[i][j]){b[a[i][j]]--;a[i][j]=0;}else break;}i=0;//因为可能有多个入度为0,要求先输出最小的,所以每次有一个放到数组c里时 重新开始遍历 }}}cout<<c[0];for(i=1;i<n;i++)cout<<" "<<c[i];cout<<endl;}return 0;
}


转载于:https://www.cnblogs.com/wangyumin/p/5323462.html

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

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

相关文章

Tomcat中server.xml文件内各节点详解

由于 Tomcat 基于 Java&#xff0c;实际上在各种 Linux 发行版里的配置方法都大同小异&#xff0c;只是我看见在 Arch Linux 环境里搭建 Tomcat 的文章比较少&#xff0c;所以在 Arch Linux 实践一遍然后得出此文。此文假设你对 Tomcat 并不十分了解&#xff0c;主要笔墨将会在…

thinkphp mysql cache_thinkPHP5框架数据库连贯操作之cache()用法分析

本文实例讲述了thinkPHP5框架数据库连贯操作之cache()用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;介绍TP5中自带的缓存系统&#xff0c;是File型缓存。也就是文件型缓存。存储地址是&#xff1a;根目录..untimecache(根目录指public)。这个缓存系统相较于redi…

[Javascript_库编写]创建自己的“JavaScript库”

一.编写JavaScript库要注意的问题 为了让自己的JS库构建的更加优雅、合理&#xff0c;我们编写JS库时要注意两方面的内容&#xff1a; 1.不要使用版本检测&#xff0c;而要使用能力检测 由于浏览器的类型和版本太多&#xff0c;以及不断的新的浏览器出现&#xff0c;我们不可能…

文件的分割与合并

/*文件的分割*/ #include<stdio.h> #include<stdlib.h> #include<string.h> #define NUM 1024 * 1024 * 100 int main() {//所需分割的文件路径FILE *fr fopen("F:\\PL.exe", "rb");if (fr NULL){exit(-1);}char *buff (char*)malloc…

mysql5.6.24怎么打开_mysql 5.6.24 安装配置方法图文教程

由于工作需要&#xff0c;开始使用mysql数据库&#xff0c;已经好久没有使用了。基本已经忘了差不多。今天重新安装配置了一下&#xff0c;写个随笔记录一下&#xff0c;以免自己以后需要的时候翻看&#xff0c;如有不正确或需要补充的&#xff0c;希望大家多多留言。首先下载m…

sublime text 3安装及使用

安装配置 安装&#xff1a; 安装环境:Ubuntu 16.04 官网下载sublime text 3 https://www.sublimetext.com/3 解压&#xff1a; tar xvf 文件名 进入 sublime_text_3文件夹&#xff0c;运行 ./sublime_text 注册码&#xff1a;我用的时候有用 —– BEGIN LICENSE —–TwitterInc…

微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版

原文&#xff1a;http://www.shichangbu.com/portal.php?modview&aid25931 公众号如何申请这些功能&#xff1f; 在微信公众号后台和QQ经常都有人问我诸如此类的问题&#xff1a;”微信公众平台原创声明怎么开通?“、”微信赞赏等功能是怎么回事…

mysql时间聚合_11.MySQL数值、日期和时间、信息、聚合函数

mysql> ALTER TABLE 名单 ADD id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT FIRST;Query OK, 0 rows affected (0.27 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> DESC 名单;-----------------------------------------------------------------| Field | Type…

Html工具类

1 import java.io.IOException;2 import java.io.PrintWriter;3 4 import javax.servlet.http.HttpServletResponse;5 6 import net.sf.json.JSONException;7 8 9 public class HtmlUtil { 10 11 /** 12 * 13 * <br> 14 * <b>功能&#x…

C#基础加强_泛型的基本原理

小弟初写博文&#xff0c;深感“易敲千行码&#xff0c;难下百余文”的道理。 内容粗略浅薄&#xff0c;望各位大神海涵&#xff01; 动态数组ArrayList可以实现不断的增长&#xff0c;让我们感受到了在某些地方较数组有优越感。但它包含的数组类型是object类&#xff0c;意味着…

python语法笔记(四)

1、对象的属性 python一切皆对象&#xff0c;每个对象都可能有多个属性。python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义&#xff0c;叫做类属性&#xff1b;还可能是该对象实例自身定义的属性&#xff0c;叫做对象属性。类属性…

为什么闹钟设置了却不响_又被iPhone闹钟坑了?解决闹钟不响问题看这里!

原标题&#xff1a;又被iPhone闹钟坑了&#xff1f;解决闹钟不响问题看这里&#xff01;你有没有过这样的体验&#xff0c;早上醒来&#xff0c;闹钟还没响&#xff0c;内心想&#xff1a;真好&#xff0c;还可以再睡会。拿起手机想看看还能再睡多久&#xff0c;结果……我的天…

CSS3实现纸张边角卷起效果

html代码 1 <body>2 <div class"page">3 <div class"page-box">4 <h1>5 兔子先生6 </h1>7 <p>8 这几…

fzu 1894 单调队列

http://acm.fzu.edu.cn/problem.php?pid1894 Problem 1894 志愿者选拔Accept: 1328 Submit: 4200Time Limit: 1500 mSec Memory Limit : 32768 KB Problem Description 世博会马上就要开幕了&#xff0c;福州大学组织了一次志愿者选拔活动。参加志愿者选拔的同学们排队接…

均线带角度的指标_选股指标:均线角度并列向上,量能倍增飞扬趋势明显,短线操作可考虑...

今天要讲的是量能飞扬的选股指标&#xff0c;这个指标是按照20日、30日、60日、120日均线反正切角度原理为基础设计的公式&#xff0c;这4条均线角度排列向上&#xff0c;股价呈现向上的趋势&#xff0c;选出的股票有大概率上涨的空间&#xff0c;完整的公式如下&#xff1a;A2…

将链表中m-n范围内的数进行倒序

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1->2->3->4->5->NULL, m 2 and n 4, return 1->4->3->2->5->NULL. Note:Given m, n satisfy the following condition:1 ≤ m ≤ n ≤ lengt…

python 核心编程第5章(习题)

1.标准类型运算符. 写一段脚本&#xff0c;输入一个测验成绩&#xff0c;根据下面的标准&#xff0c;输出他的评分成绩&#xff08;A-F&#xff09;。 #coding:utf8 a raw_input() a int(a) if (a > 100) or (a < 0):print "输入错误,请输入0&#xff5e;100的数字…

cacti pdo_mysql_搭建配置cacti,采集信息监控

安装cactilamp环境[iyunvCacti ~]#service iptables stop //关闭防火墙服务[iyunvCacti ~]#chkconfig iptables off //永久性关闭[iyunvCacti ~]#vi /etc/sysconfig/selinux //把SELINUXenforcing改为SELINUXdisabled1&#xff1a;操作系统的安装&#xff0c;这个就不用写教程了…

win10下安装ubuntu14.04双系统(UEFI固件)

2019独角兽企业重金招聘Python工程师标准>>> 在windows10环境下安装双系统&#xff0c;遇到了很多坑。作为一个用惯了虚拟机的人&#xff0c;本想通过安装双系统来充分利用计算机本身的硬件资源&#xff0c;结果失败了n次&#xff0c;摸索了整整一天&#xff0c;看了…

时区缩写

新西兰标准时间 NZT 12:00 新西兰时间 AESST 11:00 澳大利亚东部夏时制 CST(ACSST) 10:30 中澳大利亚标准时间 CADT 10:30 中澳大利亚夏时制 SADT 10:30 南澳大利亚夏时制 EST(EAST) 10:00 东澳大利亚标准时间 GST 10:00 关岛标准时间 LIGT 10:00 澳大…