确定比赛名次
2015-05-31 19:58
316 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1285
#include<iostream>
#include<string>
using namespace std;
int n,m,a[510][510],indegree[510],t[510];
int main()
{
// freopen("C:\\Users\\John\\Desktop\\hi.txt","r",stdin);
int i,j;
while(cin>>n>>m)
{
memset(a,0,sizeof(a));
memset(indegree,0,sizeof(indegree));
for(i=1;i<=m;i++)
{
int temp1,temp2;
cin>>temp1>>temp2;
if(a[temp1][temp2]==0)
{
a[temp1][temp2]++;
indegree[temp2]++;
}
}
for(i=0;i<=n-1;i++)
{
for(j=1;j<=n;j++)
if(indegree[j]==0)
{
t[i]=j;
indegree[j]--;
for(int k=1;k<=n;k++)
if(a[j][k])
{
indegree[k]--;
}
break;
}
}
for(i=0;i<n;i++)
if(i!=n-1)
cout<<t[i]<<" ";
else
cout<<t[i]<<endl;
}
return 0;
}
http://acm.hdu.edu.cn/showproblem.php?pid=1285
#include<iostream>
#include<string>
using namespace std;
int n,m,a[510][510],indegree[510],t[510];
int main()
{
// freopen("C:\\Users\\John\\Desktop\\hi.txt","r",stdin);
int i,j;
while(cin>>n>>m)
{
memset(a,0,sizeof(a));
memset(indegree,0,sizeof(indegree));
for(i=1;i<=m;i++)
{
int temp1,temp2;
cin>>temp1>>temp2;
if(a[temp1][temp2]==0)
{
a[temp1][temp2]++;
indegree[temp2]++;
}
}
for(i=0;i<=n-1;i++)
{
for(j=1;j<=n;j++)
if(indegree[j]==0)
{
t[i]=j;
indegree[j]--;
for(int k=1;k<=n;k++)
if(a[j][k])
{
indegree[k]--;
}
break;
}
}
for(i=0;i<n;i++)
if(i!=n-1)
cout<<t[i]<<" ";
else
cout<<t[i]<<endl;
}
return 0;
}
相关文章推荐
- maven 引入本地jar包
- 由表及里,对象逐层响应【冒泡】——JS总结
- Android应用层View绘制流程与源码分析
- 项目的用例图设计
- 移动硬盘出现 文件目录损坏且无法读取 解决方法教程(一)
- estimated parameters that ends with underscore in scikit
- 摩托车继承自行车和机动车
- 阅读构建之法8、9、10章
- POJ 1328 南阳oj 287 Radar【区间选点问题】
- iOS通过CAShapeLayer和UIBezierPath画环形进度条
- reshape in numpy
- lower_bound()和upper_bound
- hdu 1203 I NEED A OFFER!(01背包)
- android自定义View实现图片上传进度显示(仿手机QQ上传效果)
- Linux的sysctl 命令参数详解
- sublime text3 安装
- 15第十三周项目二——形状类族中的纯虚函数
- HDU 1496 (第一道hash附带讲解)
- java 多态的知识点总结
- pom.xml中各个标签 的意思