给出一棵n个节点的树,节点编号为1-n(根节点编号为1),求这棵树叶子结点的数量。
例如:
1─2─4─5
└─3
其中3和5是叶子节点,输出2。
输入
第一行:1个数n(1 < n <= 1000),表示树的节点数量。
后面n-1行:每行2个数x y,表示节点x是节点y的父节点(1 <= x, y <= n)。
输出
输出1个数,表示这棵树有多少个叶子节点。
输入样例
5
1 2
1 3
2 4
4 5
输出样例
2
只要没后继节点的就是子节点
#include<bits/stdc++.h>
using namespace std;
int a[1010];
int main()
{
ios::sync_with_stdio(false);
memset(a,1,sizeof(a));
int n,x,y,sum;
cin>>n;
sum=n;
for(int i=1;i<n;i++)
{
cin>>x>>y;
if(a[x])
{
a[x]=0;sum--;
}
}
cout<<sum;
return 0;
}