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 输入有若干组,每组中的第 ...
随机推荐
- 网页frame引入实现全屏滚动,使用jquery实现浏览器兼容
近期做一个项目,其中有一个需求,就是网页中需要用frame引入页面并实现frame的全屏,在网上查了好多感觉方式都不尽相同,但是都不是介绍的很全面,浏览器的兼容也做的不好,自己总结了一些要点,需要的可 ...
- Unity3D--学习太空射击游戏制作(三)
步骤四:创建敌人 创建敌人的方式与创建主角类似,不过敌人的行为需要由计算机来控制,它将从上方迎着主角缓慢飞出来,并左右来回移动: 01:创建Enemy.cs脚本,添加代码: using UnityEn ...
- PHP 向 MySql 中数据修改操作时,只对数字操作有效,非数字操作无效,怎么办?
问题描述: 用PHP向MySql数据库中修改数据,实现增删改(数据库能正确连接) 经测试,代码只能对数字进行正常的增删改操作,非数字操作无效 但要在课程名称中输入中文,应该如果修改呢? 存 ...
- Python原型模式
如果想根据现有对象复制出新的对象并对其修改,可以考虑原型模式(Prototype Pattern) class Point: __slots__ = ("x", "y&q ...
- 【IT历史】SP和CP
1.什么是SP?SP是英文Service Provider的缩写,中文翻译为服务提供商,通常是指在移动网内运营增值业务的社会合作单位.它们建立与移动网络建立相连的服务平台,为手机用户提供一系列信息服务 ...
- 使用WampServer 3.0
在server上安装了WampServer 发现本地使用良好,但是无法从别的PC访问. 原因有二: 1.现象:输入连接无反应 原因:server本身用了80端口,所有WampServer我就设置了80 ...
- [转载]MongoDB学习 (五):查询操作符(Query Operators).1st
本文地址:http://www.cnblogs.com/egger/archive/2013/05/04/3059374.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑! 查询操作符(Quer ...
- 安装,卸载或重装Vmware Workstation时失败的官方解决方案
最近VMware Workstation又放出更新,遂更新之.安装时提示先卸载旧版本.控制面板和其他软件管理器都不能正常卸载,提示" The MSI '' failed",索性直接 ...
- WP8教程
http://www.maiziedu.com/courses-list?technology_category=6
- 对话 Jessica Hamrick:和 Django 的情缘是我前行的动力
本文出自 Your Django Story 系列,该系列主要突出那些贡献 Django 的女性.点击查看更多,本文系 OneAPM 工程师编译整理. Jess Hamrick 是加州大学伯克利分校心 ...