迷之RE祭。
一道简单的树形数据结构练手题。
难度:橙色的
题面描述
给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子。
输入输出格式
输入格式
第一行:n(结点个数≤100),m(边数≤200)。
以下m行:每行两个结点x和y,表示y是x的孩子(x,y≤100)。
输出格式
第一行:树根:root; 第二行:孩子最多的结点max(多个只输出编号最小的结点); 第三行:max的孩子(按编号由小到输出)。
INPUT & OUTPUT’s example
Input’s example #1
1 | 8 7 |
Output’s example #1
1 | 4 |
提示
分析
本题十分简单,也证明Herself32实在是太蒻了。
还是再说几句吧。
首先我们开一个struct
来存储当前节点的父亲和儿子,然后用结构体变量tree[MAXN]
来初始化。
因为根节点没有父亲节点,所以我们遍历每一个节点,如果tree[i].father==0
那么根节点就找到了。
处理孩子最多的节点时,我们就可以遍历一遍节点,将struct
里面存放的节点数目最大值求出来,然后根据下标对应输出这个节点的孩子。
代码实现
1 | /* Headers */ |
v1.5.2