拓扑排序

void dfs(int u)
{
  c[u] = -1;
  for (int v = 1; v <= n; v++)
    if (g[u][v] && !c[v]) dfs(v);
  c[u] = 1;
  topo[--t] = u;
}

你可能感兴趣的:(拓扑排序)