对于一个有向无环图G=(V,E)来说,它的拓扑排序是G中所有结点的一种线性次序,该次序满足如下条件:如果G包含边(u,v),则结点u在拓扑排序中处于结点v的前面。因而可以将拓扑排序看做是图的所有结点在一条水平线上排开,图的所有边都从左指向右。
只要思路采用dfs思想,依次取出入度为0的点,然后把该点对应的边的终点的入度相应减小
具体代码如下
/*
* @Author: csc
* @Date: 2020-12-13 10:32:35
* @LastEditTime: 2020-12-17 13:08:00
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \code\tp.h
*/
#pragma once
#include <iostream>
#include <algorithm>
#include <string.h>
#include <string>
#include <cmath>
#include <queue>
#include <map>
#include <vector>
#include <cstdio>
using namespace std;
vector<int> tp[100];
int in[100]