POJ 3687 Labeling Balls 反向拓扑建图是个坑点
来源:互联网 发布:oracle导入数据 编辑:程序博客网 时间:2024/04/30 02:35
还有一个坑点就是,如果之前输入过相同的a,b 那么再输入的就无效了 ,wa~~~~~~~~
#include <iostream>#include <algorithm>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>using namespace std;int map[300][300];int du[300];int book[300];int ans[300];int n;void Topsort(){ memset(book,0,sizeof(book)); memset(ans,0,sizeof(ans)); int i, j, k; for(i = n;i >= 1;i--){ k = -1; for(j = n;j >= 1;j--){ if(!book[j]&&du[j]==0){ k = j; break; } } if(k == -1){ printf("-1\n"); return; } book[k] = 1; ans[k] = i; for(j = 1;j <= n;j++){ if(map[k][j]){ du[j]--; } } } printf("%d", ans[1]); for(i = 2;i <= n;i++){ printf(" %d", ans[i]); } printf("\n");}int main(){ int t; cin >> t; int a, b; while(t--){ memset(du,0,sizeof(du)); memset(map,0,sizeof(map)); int m; scanf("%d %d", &n, &m); while(m--){ scanf("%d%d", &a, &b); if(map[b][a] == 0){//只有之前没有输入过a b,du[a]才可以自加1 du[a]++; } map[b][a] = 1; } Topsort(); } return 0;}
0 0
- POJ 3687 Labeling Balls 反向拓扑建图是个坑点
- POJ 3687 Labeling Balls (反向拓扑排序)
- 【POJ 3687 Labeling Balls】 + 反向拓扑
- poj 3687 Labeling Balls【反向拓扑】
- poj-3687-Labeling Balls-反向建图+拓扑排序
- POJ 3687 Labeling Balls (反向拓扑排序)
- Labeling Balls poj 3687(拓扑排序反向建图)
- POJ 3687 Labeling Balls(拓扑排序+反向思考)
- POJ 3687:Labeling Balls【拓扑】
- 3687-Labeling Balls-反向拓扑排序
- POJ - 3687Labeling Balls(反向建图 + 反向拓扑)题意坑
- poj 3687 Labeling Balls(拓扑排序)
- POJ 3687 Labeling Balls 拓扑排序
- poj 3687 【拓扑排序】【Labeling Balls】
- poj Labeling Balls 3687 拓扑排序!!!!
- poj 3687 Labeling Balls 拓扑排序
- POJ 3687Labeling Balls(拓扑排序)
- poj 3687 Labeling Balls 逆向拓扑
- Effective C++_Item10笔记
- 表达式合法判断(栈的使用)----去哪儿2016研发工程师编程题
- Effective C++_Item11笔记
- KMP
- Java的方向。。。
- POJ 3687 Labeling Balls 反向拓扑建图是个坑点
- Java单例模式详解
- leetcode 74. Search a 2D Matrix
- Memcached缓存
- HTML5audio duration返回NaN问题及歌曲切换总时间改变问题
- mybatis
- EJB 通过ANT卸载发布项目时 BUILD FAILED
- 使用NLPIR汉语分词系统进行分词
- Spring MVC入门