有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 ;
}

最新文章

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

热门文章

  1. C++学习日记(二)————初始字符串类型
  2. 操作系统:ucore的部分Bug&挑战练习
  3. STEP 7-MicroWIN SMART 西门子PLC再次安装问题
  4. 附录:MySQL忘记root密码
  5. 【1414软工助教】团队作业5——测试与发布(Alpha版本) 得分榜
  6. 团队作业8——第七天(beta阶段)
  7. 【Beta阶段】第一次scrum meeting
  8. 联想G50-70安装SSD及WIN10教程
  9. 201521123115《Java程序设计》第7周学习总结
  10. 201521123102 《Java程序设计》第6周学习总结