HDU1285 确定比赛名次
有N个比赛队(<=N<=),编号依次为1,,,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参
赛队伍从前往后依次排名,但现在裁判委员会不
能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请
你编程序确定排名。
简单拓扑排序
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<memory.h>
using namespace std;
int Laxt[],Next[],To[];
int ru[],used[],cnt,q[],num;
int n,m;
void _update()
{
memset(ru,,sizeof(ru));
memset(Laxt,,sizeof(Laxt));
memset(used,,sizeof(used));
cnt=;
}
void _add(int u,int v)
{
Next[++cnt]=Laxt[u];
Laxt[u]=cnt;
To[cnt]=v;
ru[v]++;
}
void _del(int v){
for(int i=Laxt[v];i;i=Next[i]){
ru[To[i]]--;
}
}
void _print()
{
printf("%d",q[]);
for(int i=;i<=n;i++)
printf(" %d",q[i]);
printf("\n");
}
int main()
{
int i,j,x,y;
while(~scanf("%d%d",&n,&m)){
_update();
for(i=;i<m;i++){
scanf("%d%d",&x,&y);
_add(x,y);
}
for(num=;num<=n;num++)
for(i=;i<=n;i++){
if(!used[i]&&ru[i]==){
used[i]=;
q[num]=i;
_del(i);//被i打赢的入度减一
break;
}
}
_print();
}
return ;
}
HDU1285 确定比赛名次的更多相关文章
- hdu1285 确定比赛名次(拓扑排序)
确定比赛名次 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
- HDU1285确定比赛名次
确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/ ...
- hdu1285 确定比赛名次【拓扑排序】
题目链接 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- HDU1285——确定比赛名次
Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委 ...
- hdu1285 确定比赛名次(拓扑排序)
有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道 ...
- hdu1285 确定比赛名次(拓扑排序多种方法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 Problem Description 有N个比赛队(1<=N<=500),编号依次 ...
- 图论--拓扑排序--HDU-1285确定比赛名次
Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委 ...
- hdu1285确定比赛名次(拓扑排序+优先队列)
传送门 第一道拓扑排序题 每次删除入度为0的点,并输出 这题要求队名小的排前面,所以要用到重载的优先队列 #include<bits/stdc++.h> using namespace s ...
- hduoj 1285 确定比赛名次
http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory ...
随机推荐
- 云计算的三种服务模式IaaS、PaaS和SaaS的差别
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt363 云服务"现在已经快成了一个家喻户晓的词了.如果你不知道Paa ...
- c# 读取excel数据的两种方法(转)
转载自:http://developer.51cto.com/art/201302/380622.htm, 方法一:OleDb: 用这种方法读取Excel速度还是非常的快的,但这种方式读取数据的时候不 ...
- python 斐波那契数列 fibonacci
在python中生成fibonacci数列的函数 def fibonacci(): list = [] while 1: if(len(list) < 2): list.append(1) el ...
- 【DDD】领域驱动设计实践 —— 业务建模小招数
本文结合团队在ECO(社区服务系统)业务建模过程中的实践经验,总结得到一些DDD业务建模的小招数,不一定是完美的,但是对我们团队来说很有效用,希望能帮到其他人.后面会陆续将项目中业务建模的一些经典例子 ...
- 对eigrp默认网络的理解!
EIGRP 默认网络设置的个人总结 (了解即可) //该机制同rip和ospf的default-informationoriginate,原理相同,只是配置格式不同. //!!(唯一作用)该命令起到减 ...
- (2)ES6解构赋值-数组篇
1.解构赋值-数组篇 //Destrcturing(解构) //ES5 /* var a = 1; var b = 2; var c = 3; */ //ES6 var [a,b,c] = [1,2, ...
- 201521123100 《Java程序设计》 第2周学习总结
一. 本章学习总结 1.本周学习了Java语言中各种数据类型以及运算符,其中大部分还是和c语言差不多,发现了各种语言的相通性 2.进一步学习了eclipse的功能和使用方法,学会了如何将其与码云连接更 ...
- 201521123004 《Java程序设计》第2周学习总结
本周学习总结 ① String类的对象是不可变(immutable)的 String对象创建之后不能再进行修改 -->StringBuilder ② 字符串的拼接(使用"+" ...
- Java:设计类的继承关系时的技巧
继承设计的技巧: (1)将公共操作和域放置在超类 (2)不要使用受保护的域 有些程序员认为,将大多数的实例域定义为protected是一个不错的主意,只有这样,子类才能够在需要的时候直接访问他们.然而 ...
- linux 环境NTP配置与开机自启动(转)
Linux下配置NTP服务器一.前言: 默认NTP服务端口: UDP/123 本文配置的NTP工作模式: 使用client/server方式,该方式适用于一台时间服务器接收上层 ...