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

CodeForces - 369C - Valera and Elections

时间:2017-08-03 16:05:04      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:code   i++   main   没有   span   答案   return   name   push   

369C - Valera and Elections

思路:dfs,对于搜索到的每个节点,看他后面有没有需要修的路,如果没有,那么这个节点就是答案。

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
const int N=1e5+5;
vector<int>g[N];
vector<int>edge[N];
vector<int>ans; 
int dfs(int o,int u)
{
    int res=0;
    for(int i=0;i<g[u].size();i++)
    {
        if(g[u][i]!=o)
        {
            int temp=dfs(u,g[u][i]);
            if(temp==0&&edge[u][i]==2)
            {
                res++;
                ans.push_back(g[u][i]);
            }
            res+=temp;
        }
    }
    return res;
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin>>n;
    for(int i=0,x,y,t;i<n-1;i++)
    {
        cin>>x>>y>>t;
        g[x].pb(y);
        g[y].pb(x);
        edge[x].pb(t);
        edge[y].pb(t);
    }
    dfs(0,1);
    cout<<ans.size()<<endl;
    for(int i=0;i<ans.size();i++)
    {
        cout<<ans[i];
        if(i!=ans.size()-1)cout<< ;
        else cout<<endl; 
    }
    cout<<endl;
    return 0;
}

 

CodeForces - 369C - Valera and Elections

标签:code   i++   main   没有   span   答案   return   name   push   

原文地址:http://www.cnblogs.com/widsom/p/7280139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!