拓扑判环

首先输入那里有

{

    -----输入

    然后e【u】【v】=1;表示从u到v有一条边

    接着in【v】++;表示v的入读++
}

接着拓扑判环(也就是有木有出现u和v使得v是u的徒弟但是v又可以指向u的环)

    inline void topoSort() {
        for (; !q.empty(); q.pop());
        for (int i = 0; i < 26; ++i)
            if (!in[i]) q.push(i);
        for (; !q.empty(); ) {
            int u = q.front();
            q.pop();
            for (int v = 0; v < 26; ++v)
                if (e[u][v]) {
                    --in[v];
                    if (!in[v]) q.push(v);
                }
        }
    }//拓扑排序 

  字典树专题里的

P3065 [USACO12DEC]第一!First!

猜你喜欢

转载自www.cnblogs.com/hgangang/p/12336287.html
今日推荐