给任务排序(Ordering Tasks,UVa 10305)

原创 2015年11月18日 21:13:11

原题链接

分析:拓扑排序

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<string>
#include<map>
#include<cmath>
#include<sstream>
#include<queue>
#include<cctype>
using namespace std;
typedef long long ll;
#define MAX 105
int G[MAX][MAX];
int vis[MAX];
int ans[MAX];
int m,n,t;
bool dfs(int u) {
        vis[u] = -1;
        for(int v=1;v<=n;v++)
                if(G[u][v])
                if(!vis[v] && !dfs(v)) return false;
        ans[t--] = u;
        vis[u] = 1;
        return true;
}
bool toposort() {
        memset(vis,0,sizeof(vis));
        for(int u=1;u<=n;u++) if(!vis[u])
                if(!dfs(u)) return false;
        return true;
}
int main() {
        while(~scanf("%d%d",&n,&m) && (n || m)) {
                memset(G,0,sizeof(G));
                int a,b;
                for(int i=0;i<m;i++) {
                        scanf("%d%d",&a,&b);;
                        G[a][b] = 1;
                }
                t = n;
                toposort();
                for(int i=1;i<=n;i++) i == n?printf("%d\n",ans[i]):printf("%d ",ans[i]);
        }
        return 0;
}


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

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

uva 10305 Ordering Tasks 拓扑排序 逆DFS法和一般法

原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=9 只需输出拓扑排序的一种情况即可AC。 ...

Uva10305 Ordering Tasks(拓扑排序)

UVa:10305 Ordering Tasks https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&cat...

UVa - 10305 - Ordering Tasks(拓扑排序DFS)

拓扑排序DFS模版 bool dfs(int u){ vis[u]=-1;// 访问标志, //-1正在访问 1访问完成 0没有访问 for(int v=1 ;v...

UVA 10305 - Ordering Tasks 很简单的拓扑排序题目。

在做某件任务前必须先完成另一件任务,就是一个任务先后的问题。 其实和拓扑排序例题中的从小到大排序的问题在本质上一模一样,连一点变化都没有。 第一次提交WA了一次,因为有个二维数组忘记了清零……果然...

UVA - 10305 Ordering Tasks(拓扑排序模板题)

题目链接:http://vjudge.net/problem/UVA-10305 题意:设有n个变量标号1到n,共有m个二元组(u,v)表示变量u 分析:典型的拓扑排序。百度上拓扑排序的定义为:对...

UVa 10305 Ordering Tasks 拓扑排序 解题报告

Problem Description John has n tasks to do. Unfortunately, thetasks are not independent and the exec...

Uva10305 Ordering Tasks 【拓扑排序】【例题6-15】

dfs进行拓扑排序!还有点不懂!
  • GuoZLH
  • GuoZLH
  • 2016年12月11日 16:05
  • 224

UVA - 10305 (Ordering Tasks) 拓扑排序

uva10305 UVA - 10305 (Ordering Tasks) 拓扑排序

UVA - 10305 - Ordering Tasks (拓扑排序!)

UVA - 10305 Ordering Tasks Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %ll...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:给任务排序(Ordering Tasks,UVa 10305)
举报原因:
原因补充:

(最多只允许输入30个字)