POJ 3687 拓扑排序
来源:互联网 发布:恋爱的酸臭味 知乎 编辑:程序博客网 时间:2024/05/16 12:16
一个比较慢的算法。
反向拓扑,从大到小枚举。
#include <cstdio>#include <cstring>using namespace std;int cas,n,m,cnt,v[205],ans[205];bool map[205][205];int main(){ scanf("%d",&cas); while(cas--) { memset(map,0,sizeof(map)); memset(v,0,sizeof(v)); memset(ans,0,sizeof(n)); scanf("%d%d",&n,&m); cnt=n; for(int i=1;i<=m;i++) { int F,T; scanf("%d%d",&F,&T); if(!map[T][F]) map[T][F]=1,v[F]++; } for(int i=n;i>=1;i--) for(int j=n;j>=1;j--)//当前可选的最大标签 if(!v[j]) { v[j]--; cnt--; ans[j]=i; for(int k=n;k>=1;k--) if(map[j][k]) v[k]--; break; } if(cnt) printf("-1\n"); else { for(int i=1;i<=n;i++) printf("%d ",ans[i]); printf("\n"); } }}
0 0
- POJ 3687 拓扑排序
- POJ 3687 拓扑排序
- POJ 3687 拓扑排序
- poj 3687 拓扑排序
- POJ 3687 拓扑排序
- 【巧妙拓扑排序】poj 3687
- 【POJ】3687【拓扑排序】【LabelingBalls】
- POJ 3687 拓扑排序应用
- POJ 3687 逆向拓扑排序
- poj 3687 Labeling Balls(拓扑排序)
- POJ 3687 Labeling Balls 拓扑排序
- poj 3687 【拓扑排序】【Labeling Balls】
- poj Labeling Balls 3687 拓扑排序!!!!
- poj 3687 Labeling Balls 拓扑排序
- 图论-------拓扑排序解题报告--poj 3687
- POJ 3687Labeling Balls(拓扑排序)
- POJ 3687 Labeling Balls 拓扑排序
- poj 3687 Labeling Balls ( 拓扑排序 )
- 练习2-Can you solve this equation?
- 一些思考方式——从continue按钮的实现暴露的设计问题
- 三大简单排序
- IOS 内存管理机制总结
- Java中定时任务的实现:Timer与ScheduledExecutorService的不同
- POJ 3687 拓扑排序
- 1. Two Sum
- nginx https 跳转方法
- mysql基本操作
- [IO]——编码和解码
- 线程池中CompletionService的应用
- 字符串转成整数大数乘法
- 说说JSON和JSONP,也许你会豁然开朗
- 关于string函数族实现的准备