尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

东方博宜OJ 4567:树的根 ← 邻接表 or 链式前向星

东方博宜OJ 4567:树的根 ← 邻接表 or 链式前向星
📅 发布时间:2026/6/20 10:46:41

​【题目来源】
https://oj.czos.cn/p/4567

【题目描述】
一棵有 N 个结点的树,树上结点编号为 1 到 N。
已知树上 N-1 条边,且已知每条边的父子关系。
请编程求出树上根结点的编号。

【输入格式】
第 1 行输入一个整数 N 代表树上结点的数量。(1≤N≤100)。
接下来 N-1 行,每行输入两个整数 X,Y,代表编号为 X 的结点是编号为 Y 的结点的父。​​​​​​​

【输出格式】
输出一个整数,代表树上根结点的编号。​​​​​​​

【输入样例】
7
3 7
4 5
5 2
4 1
3 4
7 6

【输出样例】
3

【数据范围】
1≤N≤100​​​​​​​

【算法分析】
找根的算法思想:遍历所有节点,直至父节点为空的节点,即为根。

【算法代码一:邻接表】

#include<bits/stdc++.h>
using namespace std;const int N=1e2+5;
vector<int> v[N];
int fa[N];
int n,x,y;int main() {memset(fa,-1,sizeof fa);cin>>n;for(int i=1; i<n; i++) {cin>>x>>y;fa[y]=x;v[x].push_back(y);}int root=x;while(fa[root]!=-1) {root=fa[root];}cout<<root<<endl;return 0;
}/*
in:
7
3 7
4 5
5 2
4 1
3 4
7 6out:
3
*/

 【算法代码二:链式前向星】

#include<bits/stdc++.h>
using namespace std;const int N=1e2+5;
int e[N],ne[N],h[N],idx;
int fa[N];
int n,x,y;void add(int a,int b) {e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}int main() {memset(fa,-1,sizeof fa);memset(h,-1,sizeof h);cin>>n;for(int i=1; i<n; i++) {cin>>x>>y;fa[y]=x;add(x,y);}int root=x;while(fa[root]!=-1) {root=fa[root];}cout<<root<<endl;return 0;
}/*
in:
7
3 7
4 5
5 2
4 1
3 4
7 6out:
3
*/

 




【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/155763839
https://blog.csdn.net/hnjzsyjyj/article/details/140138335

 

​

相关新闻

  • 准确率和召回率的平衡点
  • Python threading.Lock() thread lambda
  • 【Agent】MemOS 源码笔记---(4)---KV Cache

最新新闻

  • 海北藏族自治州黄金回收猫腻多怎么办?整理了5家诚信回收店供参考 - 三大殿
  • Binding库扩展开发:如何为自定义类型添加绑定支持
  • 博尔塔拉蒙古自治州黄金回收多少钱一克?本地实体门店回收价格对比整理 - 三大殿
  • 黄金铂金白银回收门店整理,各区均有分店联系方式 - 三大殿
  • 盘锦市闲置黄金变现多少钱?本地5家回收门店最新报价参考 - 千叶啊
  • CurseBreaker未来路线图:插件管理器的发展方向与规划

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号