首页 > 其他 > 详细

CCF 送货 + 欧拉路模板

时间:2016-04-23 11:50:41      阅读:254      评论:0      收藏:0      [点我收藏+]
#include <bits/stdc++.h>
using namespace std;
stack<int> st;
vector<int> vec[10005];
bool mp[10005][10005];
int vis[10005],cp[10005];
int n,m;

void pd(int a)//先判断是不是联通图
{
    cp[a]=1;
    vector<int>::iterator it; 
    for(it=vec[a].begin();it!=vec[a].end();it++)
    {       
        if(!cp[*it])
        {
            pd(*it);
        }   
    }
    
}
void DFS(int u)
{
    for(int i = 0;i < vec[u].size();i++){
        int v = vec[u][i];
        if(!mp[u][v])                              //当一个节点的所有路径都被走过的时,压入栈中
        {                                             //越是先压入栈中的数据,越是需要后访问
            mp[u][v]=1;
            mp[v][u]=1;
            DFS(v);
            st.push(v);
        }
    }
}
void put()
{
    st.push(1);  //因为DFS(int a)是压入起始点之后的节点,所以需要加入起始点
    while(!st.empty())
    {
        cout<<st.top()<<" ";
        st.pop();
    }
    cout << endl;
}

 

CCF 送货 + 欧拉路模板

原文:http://www.cnblogs.com/Norlan/p/5373604.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!