迷之RE祭。
一道简单的树形数据结构练手题。
难度:橙色的
题面描述
给定一棵树,输出树的根$root$,孩子最多的结点$max$以及他的孩子。
输入输出格式
输入格式
第一行:$n$(结点个数$\leq 100$),$m$(边数$\leq200$)。
以下$m$行:每行两个结点$x$和$y$,表示$y$是$x$的孩子($x,y \leq 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 */ |