HDU 1285
#include<stdio.h>
#include<string.h>
int degree[505],vis[505],map[501][501];
int main()
{
int n,m,a,b,i,j,min;
while(~scanf("%d%d",&n,&m))
{
memset(degree,0,sizeof(degree));
memset(vis,0,sizeof(vis));
memset(map,0,sizeof(map));
while(m--)
{
scanf("%d%d",&a,&b);
if(!map[a][b]) //重边不计!(此题测试数据有重边);
{
degree[b]++;
map[a][b] = 1;
}
}
min = 501;
for(i = 0;i < n;i ++)
{
for(j = 1;j <= n;j ++) //寻找入度为0且编号最小的边;
{
if(degree[j] == 0 && j < min && vis[j] == 0)
min = j;
}
vis[min] = 1; //把该点销毁;
if(i != n-1)
printf("%d ",min);
else
printf("%d\n",min);
for(j = 1;j <= n;j ++) // 处理与该点相关的并以该点作为入度的所有点;
{
if(j != min && vis[j] == 0)
{
if(map[min][j] == 1)
{
degree[j]--;
map[min][j] = 0; //销毁边;
}
}
}
min = 501;
}
}
return 0;
}
#include<string.h>
int degree[505],vis[505],map[501][501];
int main()
{
int n,m,a,b,i,j,min;
while(~scanf("%d%d",&n,&m))
{
memset(degree,0,sizeof(degree));
memset(vis,0,sizeof(vis));
memset(map,0,sizeof(map));
while(m--)
{
scanf("%d%d",&a,&b);
if(!map[a][b]) //重边不计!(此题测试数据有重边);
{
degree[b]++;
map[a][b] = 1;
}
}
min = 501;
for(i = 0;i < n;i ++)
{
for(j = 1;j <= n;j ++) //寻找入度为0且编号最小的边;
{
if(degree[j] == 0 && j < min && vis[j] == 0)
min = j;
}
vis[min] = 1; //把该点销毁;
if(i != n-1)
printf("%d ",min);
else
printf("%d\n",min);
for(j = 1;j <= n;j ++) // 处理与该点相关的并以该点作为入度的所有点;
{
if(j != min && vis[j] == 0)
{
if(map[min][j] == 1)
{
degree[j]--;
map[min][j] = 0; //销毁边;
}
}
}
min = 501;
}
}
return 0;
}
HDU 1285的更多相关文章
- ACM: HDU 1285 确定比赛名次 - 拓扑排序
HDU 1285 确定比赛名次 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u De ...
- 拓扑排序 - hdu 1285(普通和优先队列优化)
2017-09-12 19:50:58 writer:pprp 最近刚开始接触拓扑排序,拓扑排序适用于:无圈图的顶点的一种排序, 用来解决有优先级别的排序问题,比如课程先修后修,排名等. 主要实现:用 ...
- HDU.1285 确定比赛名次 (拓扑排序 TopSort)
HDU.1285 确定比赛名次 (拓扑排序 TopSort) 题意分析 裸的拓扑排序 详解请移步 算法学习 拓扑排序(TopSort) 只不过这道的额外要求是,输出字典序最小的那组解.那么解决方案就是 ...
- HDU 1285 确定比赛排名 (数组实现 )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 1285 确定比赛名次 拓扑排序模板题
http://acm.hdu.edu.cn/showproblem.php?pid=1285 #include <cstdio> #include <cstdlib> #inc ...
- hdu 1285 确定比赛名次 拓扑排序
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛 ...
- (拓扑)确定比赛名次 -- hdu -- 1285
http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memo ...
- HDU 1285 确定比赛名次(拓扑排序模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 题目大意:有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行 ...
- 正向与反向拓扑排序的区别(hdu 1285 确定比赛名次和hdu 4857 逃生)
确定比赛名次 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submis ...
- HDU 1285 确定比赛名次(简单拓扑排序)
题目链接: 传送门 确定比赛名次 Time Limit: 1000MS Memory Limit: 65536K Description 有N个比赛队(1 Input 输入有若干组,每组中的第 ...
随机推荐
- .NET高端职位招聘要求
系统架构师: 1.硕士及以上学历,博士有项目成果者优先: 2.五年以上工作经验,三年以上互联网经验,一年以上大型软件项目总体设计.分析.架构经验,有移动互联网或云计算虚拟化系统设计开发经验者优先: 3 ...
- 网页clientWidth等相关
javascript代码: function getInfo() { var s = ""; s += & ...
- C#动态生成图书信息XML文件
通过C#动态生成图书信息XML文件,下面有个不错的示例,需要的朋友可以参考下 通过C#动态生成图书信息XML文件(Books.xml),文件如下: 复制代码代码如下: <?xml version ...
- PHP开发圣经读书笔记01
从今天开始,以“圣经”这本书为教材,系统的温习一下php,之前都是看视频学的. 1.访问表单变量--php变量名称必须与表单域的名称一致 例:$_POST['uname']; //表示把表单域中na ...
- poj 1113 Mall
Mall 水题:注意题目上面有一个至少离城堡的距离为L,其实思考一下就知道是指离凸包(凸多边形)的距离为L,这时很容易知道外围的圆的圆心角叠加之后就是一个整圆:和poj2187一样使用graham形成 ...
- C99标准中的部分新特性
我有点怀疑我会不会C语言了. 1.变长数组(VLA) ; scanf("%d", &n); int arr[n]; 2.数组初始化 ] = {[] = , [] = , [ ...
- NGUI系列教程六(技能冷却的CD效果)
今天来学习一下,如何利用NGUI做技能冷却的CD效果. 1,首先按之前的教程Create Your UI,Camera为Simple 2D 最终如下图: 2,添加一个按钮,Background 为一张 ...
- SWFUpload 按钮显示问题
问题: 今天遇到一个这样的问题,我用Vs2010打开用SWFUpload上传文件的网页时,按钮显示不出来,试了好多方法,终于被我找到了! 解决方法: 原来是vs2010自带的Asp.net Devel ...
- xss攻击入门
xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意 ...
- java代码整理---正则表达式
1. 邮箱验证 : package javaRegx2016311; import java.util.regex.Matcher; import java.util.regex.Pattern; p ...