题目链接:https://uva.onlinejudge.org/external/103/10305.pdf

紫书P167

拓扑排序。

dfs——从一个点出发,dfs 与之相连的所有点,把本身放入到拓扑排序的首部。

#include <bits/stdc++.h>
using namespace std; const int Maxn = ;
int G[Maxn][Maxn];
int topo[Maxn];
int c[Maxn]; int n,m,t; bool dfs(int u) {
c[u] = -;
for(int v=;v<n;v++) if(G[u][v]) {
if(c[v]<) return false;
else if(!c[v]&&!dfs(v)) return false;
}
c[u] = ;
topo[--t] = u;
return true;
} bool toposort() {
t = n;
memset(c,,sizeof(c));
for(int u=;u<n;u++) if(!c[u]) {
if(!dfs(u)) return false;
}
return true;
} int main()
{
while(scanf("%d%d",&n,&m)==&&n) {
memset(G,,sizeof(G));
for(int i=;i<m;i++) {
int u,v;
scanf("%d%d",&u,&v);
u--;
v--;
G[u][v] = ;
}
if(toposort()) {
for(int i=;i<n-;i++) {
printf("%d ",topo[i]+);
}
printf("%d\n",topo[n-]+);
}
else printf("No\n");
} return ;
}

找入度为 0 的点,在这里开始删边。

#include <bits/stdc++.h>
using namespace std; const int Maxn = ; int G[Maxn][Maxn];
int degree[Maxn];
int ans[Maxn]; int main()
{
int n,m;
while(scanf("%d%d",&n,&m),n) {
memset(degree,,sizeof(degree));
memset(G,,sizeof(G)); for(int i=;i<m;i++) {
int u,v;
scanf("%d%d",&u,&v);
u--;
v--;
G[u][v] = ;
degree[v] ++;
} int pos = ;
for(int i=;i<n;i++) {
for(int j=;j<n;j++) {
if(degree[j]==) {
ans[pos++] = j;
degree[j] = -;
for(int k=;k<n;k++) {
if(G[j][k]==)
degree[k]--;
}
}
}
} if(pos==n) {
for(int i=;i<n-;i++)
printf("%d ",ans[i]+);
printf("%d\n",ans[n-]+);
}
else puts("No"); } return ;
}

Uva 10305 给任务排序的更多相关文章

  1. Ordering Tasks UVA - 10305(拓扑排序)

    在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点. 先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一. 一直做改操作,直到所有的节点都被 ...

  2. UVA - 10305 【拓扑排序】

    题意 给出一些任务的优先级别 将这些任务进行的时间 进行先后排序 思路 拓扑排序 将所以有先后关系的任务都连一条边 然后每次 输出 度为0 的任务 每次把 以这个任务为弧的边 都取消 相对应任务的度也 ...

  3. UVA.10305 Ordering Tasks (拓扑排序)

    UVA.10305 Ordering Tasks 题意分析 详解请移步 算法学习 拓扑排序(TopSort) 拓扑排序的裸题 基本方法是,indegree表示入度表,vector存后继节点.在tops ...

  4. Ordering Tasks UVA - 10305 图的拓扑排序

    John has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task i ...

  5. UVa 10305 Ordering Tasks (例题 6-15)

    传送门: https://uva.onlinejudge.org/external/103/10305.pdf 拓扑排序(topological sort)简单题 自己代码的思路来自: ==>  ...

  6. UVA.10305 Maximum Product (暴力)

    UVA.10305 Maximum Product (暴力) 题意分析 直接枚举起点和重点,然后算出来存到数组里面,sort然后取最大值即可. 代码总览 #include <iostream&g ...

  7. Uva 10305 - Ordering Tasks 拓扑排序基础水题 队列和dfs实现

    今天刚学的拓扑排序,大概搞懂后发现这题是赤裸裸的水题. 于是按自己想法敲了一遍,用queue做的,也就是Kahn算法,复杂度o(V+E),调完交上去,WA了... 于是检查了一遍又交了一发,还是WA. ...

  8. UVa 10305 (拓扑排序) Ordering Tasks

    题意: 经典的拓扑排序.有n个任务,然后某些任务必须安排在某些任务前面完成,输出一种满足要求的序列. 分析: 拓扑排序用离散里面的话来说就是将偏序关系拓展为全序关系.我们将“小于”这种关系看做一条有向 ...

  9. [拓扑排序]Ordering Tasks UVA - 10305

    拓扑排序模版题型: John has n tasks to do.Unfortunately, the tasks are not independent and the execution of o ...

随机推荐

  1. zabbix监控企业esxi虚拟机

    zabbix监控企业esxi虚拟机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我来公司有一段时间了,最近也发现模型部有测试和开发反应某台机器登陆不上去了,结果登陆esxi服务器 ...

  2. 通过zabbix自带模板监控windowsPC机器

       通过zabbix自带模板监控windowsPC机器   作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 相信有很多 ...

  3. XML工程配置文件的读写

    TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译,使用TinyXML进行C++ XML解析,使用简单,容易上手.这个解析库的模型通过解析XML文件, ...

  4. php-wamp滴定仪网站的根目录

    1.点击wamp中的Apache中的httpd.conf:如下图修改两处 2.进入wamp的安装目录下:修改这两个文件(目的:修改wamp中网站目录) 内容如下图: 关闭wamp服务:重启wamp

  5. 使用javabeen的好处

    什么是javabeen? javaBean在MVC设计模型中是model,又称模型层, 在一般的程序中,我们称它为数据层, 就是用来设置数据的属性和一些行为,然后提供获取属性和设置属性的get/set ...

  6. CCF真题之字符串匹配

    201409-3 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一 ...

  7. /Users/alamps/AndroidStudioProjects/Demo11ListView

    package com.example.demo11listview; import android.os.Bundle; import android.app.Activity; import an ...

  8. angular form 验证 ngMessage

    <!DOCTYPE HTML> <html ng-app="deliciousApp"> <head> <meta charset=&qu ...

  9. .scss写法及如何转化为.css

    scss可视化工具:http://koala-app.com/index-zh.html scss讲解地址:http://www.cnblogs.com/adine/archive/2012/12/1 ...

  10. [div+css]竖排菜单

             }          #box{              width:120px;              font-size: 12px;              font- ...