为了账号安全,请及时绑定邮箱和手机立即绑定

DFS序,欧拉序

标签:
C++


#include<bits/stdc++.h>

using namespace std;

using ll=long long ;

using ull=unsigned long long ;

#define me(a) memset(a,0,sizeof(a));

const int N=10005;

vector<int>g[N];

int num[N],dis[N],len,t;

int s[N],e[N];

int euler[N];

// void dfs(int u,int x,int pos) // dfs序 时间戳

// {

//  num[++len]=u;

//        int d=len;

//  s[len]=++t;

//  dis[u]=pos;

//  for(int i:g[u])

//  {

//      if(i!=x)

//      {

//          dfs(i,u,pos+1);

//      }

//  }e[d]=t;

// }

void dfs(int u,int fa)// 欧拉序

{

    euler[++len]=u;

    for(int i:g[u])

    {

        if(i!=fa)

        {

            dfs(i,u);

            //euler[++len]=u;//欧拉序1 

        }

    } //euler[++len]=u;//欧拉序2 

}

int main()

{

    int n,x;while(cin>>n>>x)

    {

        for(int i=0;i<N;i++)g[i].clear();

        len=0,t=0;me(num);me(dis);me(s);me(e);me(euler);

        for(int i=1,u,v;i^n;i++)

        {

            cin>>u>>v;

            g[u].push_back(v);

            g[v].push_back(u);

        }

    }

}

©著作权归作者所有:来自51CTO博客作者qinXpeng的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消