Advertisement

AcWing 1184. 欧拉回路题解

阅读量:

AcWing 1184. 欧拉回路
这道题中直接利用入度、出度判断是否为欧拉图的方法要记住,还要记住搜索路径并保存输出的方法

复制代码
    #include<bits/stdc++.h>
    
    using namespace std;
    
    const int N = 1e5 + 10, M = 4e5 + 10;
    
    int h[N], e[M], ne[M], idx;
    int ans[M];  //储存答案路径
    int din[N], dout[N];  //储存每个点的入度、出度
    int n, m;
    int type;  //记录图的类型
    int used[M];
    int cnt;  //记录换上有多少边 
    
    void add(int a, int b){
    	e[idx] = b;
    	ne[idx] = h[a];
    	h[a] = idx ++ ;
    } 
    
    void dfs(int u){  //从点开始遍历 
    	for(int &i = h[u]; ~i;){  //i在这里仍然是点的编号,加个&可以避免重复申请空

全部评论 (0)

还没有任何评论哟~