Uva10305给任务排序(拓扑排序 板子题)
来源:互联网 发布:剑三脸型怎么导入数据 编辑:程序博客网 时间:2024/06/05 02:20
传送门
https://vjudge.net/problem/UVA-10305
#include <bits/stdc++.h>using namespace std;const int maxn=1000; int n, m, G[maxn][maxn], c[maxn], topo[maxn], t;bool dfs(int u){c[u]=-1;for(int v=0;v<n;v++)if(G[u][v]){if(c[v]<0)return false;if(!c[v]&&!dfs(v))return false;}c[u]=1,topo[--t]=u;return true;}bool toposort(){t=n;memset(c,0,sizeof(c));for(int u=0;u<n;u++)if(!c[u])if(!dfs(u))return false;return true;}int main(){//freopen("data.in.txt","r",stdin);while(scanf("%d%d", &n, &m) == 2 && n) {memset(G, 0, sizeof(G));for(int i = 0; i < m; i++) {int u, v;scanf("%d%d", &u, &v); u--; v--;G[u][v] = 1;}if(toposort()) {for(int i = 0; i < n-1; i++)printf("%d ", topo[i]+1);printf("%d\n", topo[n-1]+1);}elseprintf("No\n"); }return 0;}
阅读全文
0 0
- Uva10305给任务排序(拓扑排序 板子题)
- uva10305(拓扑排序dfs)
- UVa10305拓扑排序
- 拓扑排序 uva10305
- UVA10305拓扑排序
- uva10305 拓扑排序
- uva10305-拓扑排序
- uva10305 拓扑排序
- Uva10305-拓扑排序
- UVa10305 Ordering Tasks(拓扑排序水题)
- uva10305- Ordering Tasks(拓扑排序)
- uva10305 拓扑排序经典dfs
- UVA10305 Ordering Tasks 拓扑排序
- Uva10305 Ordering Tasks(拓扑排序)
- UVA10305 Ordering Tasks(拓扑排序)
- UVa10305拓扑排序入门题 可做模板用
- 例题6-15 UVa10305 Ordering Tasks(拓扑排序)
- 拓扑排序(给任务排序,UVA 10305)
- Linux的信号机制与Python的signal包
- HDU 6171 Admiral 双向搜索(meet in the middle) + 哈希
- Ajax异步获取加载文章列表代码
- 序列化和反序列化的简单理解
- java getClass的用法,以及getClass().getName()的用法
- Uva10305给任务排序(拓扑排序 板子题)
- Windows copy命令
- vtp
- 通过Plink,SOCKS上网
- 垃圾回收GC
- rmq模板
- day4数组
- 云服务器Windows Server 2012 R2 或 2016 无法安装 .NET Framework 3.5
- 关于Oracle数据库中创建序列时遇到的一些问题(START WITH 不能大于 MAXVALUE)