zoukankan      html  css  js  c++  java
  • 欧拉回路模板

    (1)判断

    欧拉回路(把所有边走一遍,最后回到起点)

    无向图的所有点度数为偶数, 且联通

    有向图的所有点入度=出度, 且联通

    欧拉道路(把所有边走一遍, 不回到起点)

    无向图所有点的度数为偶数 或者 除了两个度数为奇数外其余的全是偶数。同时要联通(忽略方向)

    有向图所有点 出度=入度 或者 一个顶点 出度=入度+1,另一个顶点 入度=出度+1同时要联通(忽略方向)

    (2)输出路径

    int dfs(u) //欧拉回路则从任意点开始, 欧拉道路要从起点开始(出度=入度+1)
    {
    	REP(i, 0, g[u].size())
    	{
    		int v = g[u][i];
    		if(!vis[u][v]) //这条边还没有遍历过 
    		{
    			vis[u][v] = vis[v][u] = 1; //这是无向图, 有向图则改为 vis[u][v] = 1 
    			dfs(v);
    			stack.push(node(u, v)); //注意最后从栈顶输出到栈底 
    		}							//这句话一定要在dfs后面 
    	}
    }
  • 相关阅读:
    day 03
    day 02
    day 02 作业
    day 01
    day 10 预科
    day 09作业 预科
    day 09 预科
    day 08作业 预科
    The word 'localhost' is not correctly spelled 这个问题怎么解决
    不能够连接到主机(名称为localhost)上的MySQL服务”
  • 原文地址:https://www.cnblogs.com/sugewud/p/9819526.html
Copyright © 2011-2022 走看看