当前位置:网站首页>-找树根2-
-找树根2-
2022-08-03 11:42:00 【-JMY-】
题目描述
一棵树有n个结点,已知树上所有的父子结点关系,请问该树的根是几号结点,哪个结点的子结点最多,该结点有哪些子结点。
输入
第一行,有1个整数n代表结点数量(0<n≤100)
接下来若干行;每行两个结点x和y,表示y是x的孩子(1≤x,y≤1000)
请注意:树上结点的编号不一定是连续的
输出
第一行输出树根的编号。
第二行输出孩子最多的结点编号(如果有多个结点的子结点都是最多的,则输出编号最大的那个)。
第三行输出第二行求出的孩子最多的结点,有哪些孩子,按照编号从小到大,输出这些孩子的编号,用空格隔开。
样例输入
5 4 1 4 2 1 3 1 5
样例输出
4 4 1 2
参考代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[1005],b[1005],s[1005],k[1005],l[1005],maxn,ip;
int f(int x){
if(s[x]==0)
return x;
return f(s[x]);
}
int main(){
cin>>n;
for(int i=0;i<n-1;i++){
cin>>a[i]>>b[i];
s[b[i]]=a[i];
k[a[i]]++;
}
cout<<f(b[0])<<'\n';
for(int i=0;i<n-1;i++){
if(k[maxn]<k[a[i]]||(k[maxn]<=k[a[i]]&&maxn<=a[i]))
maxn=a[i];
}
cout<<maxn<<'\n';
for(int i=0;i<n-1;i++){
if(s[b[i]]==maxn){
l[ip]=b[i];
ip++;
}
}
sort(l,l+ip);
for(int i=0;i<ip;i++)
cout<<l[i]<<' ';
return 0;
}
边栏推荐
猜你喜欢

基于Sikuli GUI图像识别框架的PC客户端自动化测试实践

JUC(三):锁核心类AQS ing

最牛逼的集群监控系统,它始终位列第一!

"Digital Economy Panorama White Paper" Financial Digital User Chapter released!

记住用户名案例(js)

微信小程序获取用户手机号码

CDH6.3.2开启kerberos认证

hystrix 服务熔断和服务降级

After completing the interview and clearance collection of Alibaba, I successfully won the 15th Offer this year

码率vs.分辨率,哪一个更重要?
随机推荐
viewstub 的详细用法_pageinfo用法
LeetCode-48. 旋转图像
JS快速高效开发技巧指南(持续更新)
This article takes you to understand the principle of CDN technology
LyScript 实现对内存堆栈扫描
SmobilerService 推送实现
日常开发写代码原则
Explain the virtual machine in detail!JD.com produced HotSpot VM source code analysis notes (with complete source code)
实现2d人物在跳跃的同时左右移动
【MySQL】数据库进阶之索引内容详解(上篇 索引分类与操作)
记住用户名案例(js)
永寿 永寿农特产品-苹果
Go 语言快速入门指南: 介绍及安装
什么是Weex
Simple implementation of a high-performance clone of Redis using .NET (1)
下午见!2022京东云数据库新品发布会
bash case用法
VRRP协议的作用及VRRP+OSPF配置方法
FR9811S6 SOT-23-6 23V,2A同步降压DC/DC转换器
代码分析Objective-C中的深拷贝与浅拷贝