题意:
有n个苹果长在树上,【i】位置的苹果下一秒会掉到p【i】位置。
如果有两个苹果掉到一个位置两个苹果就都碰坏了,3个的话就有一
个好的。每次只能接到1位置的苹果。
分析:
通过分析我们其实可以发现只要考虑到1位置的步数就可以了。
#include<bits/stdc++.h>
using namespace std;
#define N 100005
int n,res=0,tmp;
int p[N],t[N],s[N],c[N];
int main()
{
scanf("%d",&n);
for(int i=2;i<=n;i++)scanf("%d",&p[i]);
for(int i=1;i<=n;i++)tmp=c[p[i]]+1,s[tmp]++,c[i]=tmp;
for(int i=1;i<=n;i++)if(s[i]&1)res++;
cout<<res<<endl;
}