B - 确定比赛名次
Description
Input
Output
其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入数据确保一定能有一个符合要求的排名。
Sample Input
4 3
1 2
2 3
4 3
Sample Output
1 2 4 3放法一:我用邻接矩阵写的,看起来有点土,不过最高兴的是我终于把自己的想法实现了,写这一题要注意有重边的情况,要不然会RW。劣码如下:#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
typedef struct dot{
int num;
int du;
bool falg;
}team;
#define MAX 550
int a[MAX][MAX] = {0} ;
int main()
{
int n,m;
while(cin>>n>>m)
{
int x,y;
team k[MAX]={0};
memset(a,0,sizeof(a));
memset(k,0,sizeof(k));
for(int i = 0; i < m;i++){
cin>>x>>y;
if(a[x][y] != 1)
k[y].du ++ ;
a[x][y] = 1; //cout<<y<<" "<<k[y].du <<endl;
k[y].falg = 0;
}
queue<int> q;
while(!q.empty())q.pop();
for(int i = 1; i <= n;i ++){
if(k[i].du == 0){
k[i].falg = 1;
q.push(i);
break;
}
}
/* for(int i = 1;i <= n;i ++)
cout<<k[i].du<<" ";
cout<<endl; cout<<q.size()<<endl;
*/
int f = 0,goal[600];
while(!q.empty() ){
int temp;
temp = q.front() ;
goal[f++]=temp;
// cout<<temp <<endl;
q.pop();
for(int i = 1; i <= n; i ++){
if(a[temp ][i] == 1)
k[i].du --;
}
for(int i = 1; i<= n; i ++){
if(k[i].du == 0&&k[i].falg == 0){
q.push(i);
k[i].falg = 1;
break;
}
}
}
for(int i = 0;i < f-1;i ++)
cout<<goal[i]<<" ";
cout<<goal[f-1]<<endl;
}
return 0;
}AC好开心!
B - 确定比赛名次的更多相关文章
- hduoj 1285 确定比赛名次
http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- HDU 1285 确定比赛名次(简单拓扑排序)
题目链接: 传送门 确定比赛名次 Time Limit: 1000MS Memory Limit: 65536K Description 有N个比赛队(1 Input 输入有若干组,每组中的第 ...
- ACM: HDU 1285 确定比赛名次 - 拓扑排序
HDU 1285 确定比赛名次 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u De ...
- HDU 1285 确定比赛名次
传送门 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- HDU 1285 拓普排序 基本模板例题 确定比赛名次
确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- TOJ3651确定比赛名次
确定比赛名次 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByte Total Submit: 23 ...
- (hdu)1285 确定比赛名次
Problem Description 有N个比赛队(<=N<=),编号依次为1,,,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接 ...
- hdoj 1285 确定比赛名次【拓扑排序】
确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- 确定比赛名次(map+邻接表 邻接表 拓扑结构 队列+邻接表)
确定比赛名次 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
随机推荐
- Necklace of Beads(polya计数)
Necklace of Beads Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7451 Accepted: 3102 ...
- DB_Links创建际删除
创建 create database link gadata0008 connect to gadata0008 identified by "gold" using 'ORA11 ...
- Windows消息传递函数SendMessage参数属性
Windows消息传递函数SendMessage参数属性 转载于:http://www.cr173.com/html/5605_1.html Windows是一个消息驱动式系统,SendMessage ...
- 使用win8时删除自带的输入法的好方法
无直接把那个语言都删了,再直接装输入法就行了.
- Nutch2.3分布执行过程中Mongodb中数据的变化
inject $ nutch inject /opt/nutch/runtime/local/urls/ > db.stats() { "db" : "nutch& ...
- 幻世(OurDream)2D图形引擎易语言汉化版更新提示
幻世引擎的易语言汉化专版到目前为止已经累积了多个BUG,其中多个BUG是影响引擎功能使用的问题,我将会在近期发布修复所有问题的更新版本(此更新版本同时也将会支持最新的对加入的粒子系统的支持),敬请各位 ...
- 移动端js插件分享
分享几个移动端使用的插件,个人感觉挺不错的. 1. TouchSlide1.1 滑动的焦点图 http://pan.baidu.com/s/1i3J6bbB 2. iscroll.js 模拟滚动条 ...
- 学习zepto.js(原型方法)
学习zepto.js(原型方法)[1] 转载 新的一周,新的开始,今天来学习一下zepto里边的原型方法,就是通过$.进行调用的方法,也是可以通过$.fn进行扩展的方法: $.camelCase(): ...
- 走进C标准库(3)——"stdio.h"中的getc和ungetc
接前文. 再来看看getc和ungetc的实现.在看这两个函数的实现之前,我们先来想一想这两个函数分别需要做的工作. int getc(FILE *stream) 说明:函数getc从stream指向 ...
- 使用Ramdisk 加速 Visualstudio 编译调试
一般来说ASP.NET在执行的时候,会先动态编译在目录 C:\Windows\Microsoft.NET\Framework64\版本\Temporary ASP.NET Files 由于每次修改程序 ...