码迷,mamicode.com
首页 > 移动开发 > 详细

Codeforces 931D Peculiar apple-tree(dfs+思维).cpp

时间:2018-03-05 16:56:49      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:amp   color   .com   contest   clu   汇聚   force   vector   ios   

题目链接:http://codeforces.com/contest/931/problem/D

题目大意:给你一颗树,每个节点都会长苹果,然后每一秒钟,苹果往下滚一个。两个两个会抵消苹果。问最后在根节点能收到多少个苹果。

解题思路:昨天是我想复杂了,其实就是统计下每层的苹果数,若是奇数则答案+1。因为最终这些苹果都会滚落汇聚到根节点,所以在滚落过程中肯定会碰撞并相消无论苹果是怎么分布的。

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<vector>
 5 #include<algorithm>
 6 using namespace std;
 7 const int N=1e5+5;
 8 
 9 int dep_num[N];
10 vector<int>v[N];
11 
12 void dfs(int u,int dep){
13     dep_num[dep]++;
14     for(int i=0;i<v[u].size();i++){
15         int t=v[u][i];
16         dfs(t,dep+1);
17     }
18 }
19 
20 int main(){
21     int n;
22     scanf("%d",&n);
23     for(int i=2;i<=n;i++){
24         int fa;
25         scanf("%d",&fa);
26         v[fa].push_back(i);
27     }
28     dfs(1,1);
29     int ans=0;
30     for(int i=0;i<N;i++){
31         ans+=dep_num[i]%2;
32     }
33     printf("%d\n",ans);
34     return 0;
35 }

 

Codeforces 931D Peculiar apple-tree(dfs+思维).cpp

标签:amp   color   .com   contest   clu   汇聚   force   vector   ios   

原文地址:https://www.cnblogs.com/fu3638/p/8509580.html

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