给任务排序(Ordering Tasks,UVa 10305)
来源:互联网 发布:smallpdf软件下载 编辑:程序博客网 时间:2024/06/05 03:48
原题链接
分析:拓扑排序
#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 105int 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;}
0 0
- 给任务排序(Ordering Tasks,UVa 10305)
- 例题 6-15 UVA 10305 Ordering Tasks 给任务排序
- 例题6-15 给任务排序(Ordering Tasks, UVa 10305)
- uva 10305 Ordering Tasks(拓扑排序)
- uva 10305 Ordering Tasks (拓扑排序)
- UVa 10305 Ordering Tasks (拓扑排序模板)
- [UVA 10305] Ordering Tasks (拓扑排序)
- UVa 10305 - Ordering Tasks 拓扑排序
- UVa 10305 Ordering Tasks(拓扑排序)
- UVa 10305 - Ordering Tasks 拓扑排序题解
- UVA - 10305 Ordering Tasks (拓扑排序)
- Ordering Tasks - UVa 10305 拓扑排序
- Uva 10305 Ordering Tasks(拓扑排序)
- Ordering Tasks From:UVA, 10305(拓扑排序)
- UVa 10305 - Ordering Tasks(拓扑排序)
- UVA - 10305 - Ordering Tasks (拓扑排序!)
- UVA - 10305 (Ordering Tasks) 拓扑排序
- UVa 10305 Ordering Tasks(拓扑排序)
- CocoaPosd详解
- HDU1067 Gap
- 20151118 Set集合+HashSet类+TreeSet类
- zoj2913 Bus Pass BFS
- iOS--CoreLocation的简单使用
- 给任务排序(Ordering Tasks,UVa 10305)
- JS中的“!!”
- stm32启动文件
- leetcode 59:Spiral Matrix II
- Swift_UILabel
- 时间管理
- 野鸟装备如何支持表情的
- RabbitMQ基础概念详细介绍
- swift中友盟推送