HDU1285 确定比赛名次
2024-08-25 13:52:08
有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 ;
}
最新文章
- jQuery的几个应例题、JSON基础
- Mvc4中使用Spring.Net实现IOC和DI
- tinymce整合struts2使用
- SpringBoot使用velocity模板引擎
- poj 1190 生日蛋糕
- 记录一点自己写的Php代码(1)取得任意种类,无限级下线
- C扩展Python
- Firefly是什么?有什么特点?
- XSS解决方案系列之四:关于编码
- Spark的RDD编程(二)公众号undefined110
- CSS3实现时间表
- 【响应式】foundation栅格布局的“尝鲜”与“填坑”
- 批量导入数据到hive表中:假设我有60张主子表如何批量创建导入数据
- 51nod 1503 猪和回文(dp滚存)
- DapperHelper 帮助类
- The type org.springframework.context.ConfigurableApplicationContext cannot be resolved.
- Django的Rbac介绍2
- Qt程序关于路径、用户目录路径、临时文件夹位置获取方法
- 13.1.DataGrid的增、删、改、查前台页面
- Netty4.0学习笔记系列之二:Handler的执行顺序