温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DFS序,欧拉序

发布时间:2020-08-05 14:33:52 来源:网络 阅读:439 作者:qinXpeng 栏目:编程语言
#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);
        }
    }
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI