码迷,mamicode.com
首页 > 其他好文 > 详细

CCF 送货 + 欧拉路模板

时间:2016-04-23 11:53:54      阅读:126      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!