博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 确定比赛名次
阅读量:6251 次
发布时间:2019-06-22

本文共 907 字,大约阅读时间需要 3 分钟。

算法:拓扑排序

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

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 
#include
#include
#include
#include
#include
#include
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

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

你可能感兴趣的文章
JQUERY名称冲突
查看>>
poj 1975 Median Weight Bead(传递闭包 Floyd)
查看>>
【C++ Primer每天刷牙】一间 迭代器
查看>>
:施密特建议尾随年轻的专业人士了解技术公司
查看>>
软件项目如何选型
查看>>
UVa 11205 - The broken pedometer
查看>>
[书目20150727]选择重于一切(扎克伯格给年轻人的37个人生忠告)
查看>>
Apache与Nginx的优缺点比较
查看>>
【第二篇】Volley的使用之加载图片
查看>>
hdu oj1102 Constructing Roads(最小生成树)
查看>>
减少可执行程序size的三个常用软件
查看>>
窥探Swift之别样的枚举类型
查看>>
pyspark简要原则
查看>>
【移动开发】Android中WIFI开发总结(二)
查看>>
idea git merge代码
查看>>
云计算设计模式(二十二)——静态内容托管模式
查看>>
[Angularjs]ng-file-upload上传文件
查看>>
修改类不用重启Tomcat加载整个项目
查看>>
iframe刷新父页面
查看>>
KL46 custom board SWD reset is never asserted - SWS Waveform
查看>>