本文主要是介绍【C++】2164 - 子结点的数量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:2164 - 子结点的数量
类型:树
题目描述:
给定一棵树中的若干父结点和子结点的关系描述(结点 1 是树根),请问该树中,每个结点有多少个子结点。
比如:读入父子关系如下,先读入父结点,再读入子结点。
1 2
2 3
2 4
输入:
第 1 行,读入一个整数 n ,表示树中结点的数量,树中的结点编号也是 1∼n。(n≤100)
接下来n−1 行,每行有一对父子关系 x y,x 表示父结点的编号,y 表示子结点的编号。
输入数据保证一定合法,能够形成一棵树,且不存在重复的父子关系的读入。
输出:
输出 n 个数,用空格隔开,表示按照编号从小到大的顺序,输出每个结点子结点的数量。
样例:
输入:
4
1 2
2 3
2 4
输出:
1 2 0 0
完整代码如下:
#include <iostream>
using namespace std;int main() {int n, a[110] = {}, x, y; cin >> n; for (int i = 1; i < n; i++) {cin >> x >> y; a[x]++; }for (int i = 1; i <= n; i++) {cout << a[i] << " "; }return 0;
}
这篇关于【C++】2164 - 子结点的数量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!