ural 1022. Genealogical Tree Topological sort
来源:互联网 发布:淘宝卖家在闲鱼卖东西 编辑:程序博客网 时间:2024/06/14 12:43
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1022
题意描述:原文里里面的英文题目真是又臭又长,精简后的题意很简单,给定有向图的节点和每个节点的对应边,求一个拓扑排序结果;
直接上AC代码:
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <stdio.h>#include <string>#include <vector>#include <queue>#include <cmath>#include <map>using namespace std;struct Node{int parentCount;vector<int>son;Node() :parentCount(0){ son.clear(); }};void func(){vector<Node>v;size_t n, i, j, num;Node node;cin >> n;v.resize(n, node);for (i = 0; i < n; i++){while (cin >> num&&num){v[i].son.push_back(num - 1);v[num - 1].parentCount++;}}vector<int>ans;queue<int>q;for (i = 0; i < n; i++){if (v[i].parentCount == 0)q.push(i);}while (!q.empty()){num = q.front();q.pop();ans.push_back(num);int len = v[num].son.size();for (i = 0; i < len; i++){j = v[num].son[i];v[j].parentCount--;if (v[j].parentCount == 0)q.push(j);}}cout << ans[0] + 1;for (i = 1; i < n; i++)cout << ' ' << ans[i] + 1;}int main(){freopen("out.txt", "w", stdout);freopen("in.txt", "r", stdin);func();}
0 0
- ural 1022. Genealogical Tree Topological sort
- URAL 1022. Genealogical tree
- ural 1022. Genealogical Tree
- URAL 1022. Genealogical Tree
- ural 1022. Genealogical Tree 拓扑排序
- ural 1022. Genealogical Tree 拓扑排序
- ural 1022. Genealogical Tree 拓扑排序
- ural 1022 Genealogical Tree
- URAL 1022 Genealogical Tree
- URAL 1022 Genealogical Tree (DFS)
- URAL - 1022 - Genealogical Tree(拓扑排序)
- URAL 1022 Genealogical Tree (拓扑排序)
- 1022. Genealogical Tree
- topological-sort
- Topological Sort
- Topological Sort
- Topological Sort
- Genealogical tree
- iOS开源App整理
- CLRS 7.1快速排序的描述
- 黑马程序员-JAVA基础测试题(6-10)
- 正则表达式 (二) 高级应用
- Eclipse 导入JDK源码
- ural 1022. Genealogical Tree Topological sort
- [转]VS编译duilib项目时候的错误解决方法整理
- 获取自定义Calendar中的数据
- 学习笔记之空指针。 新手。
- CLRS 7.2快速排序的性能
- Mac下和Windows下UnrealEngine 4体验对比
- 关于nil和 null和NSNull的区别及相关问题
- POJ 1035 Spell checker
- arm wifi驱动编译及无线wifi网络管理