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

东方博宜OJ 1775:谁的孙子最多 ← 邻接表 or 链式前向星

东方博宜OJ 1775:谁的孙子最多 ← 邻接表 or 链式前向星
📅 发布时间:2026/6/21 20:23:40

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

【题目描述】
给定一棵树,其中 1 号结点是根结点,问哪一个结点的孙子结点最多,有多少个。(孙子结点,就是儿子结点的儿子结点。)

【输入格式】
第一行一个整数 N(N≤10000),表示树结点的个数。
此后 N 行,第 i 行包含一个整数 Ci,表示 i 号结点儿子结点的个数,随后共 Ci 个整数,分别表示一个 i 号结点的儿子结点(结点编号在 1~N 之间)。

【输出格式】
一行两个整数,表示孙子结点最多的结点,以及其孙子结点的个数,如果有多个,输出编号最小的(本题测试数据确保有解)。

【输入样例】
5
2 2 3
1 4
0
1 5
0

【输出样例】
1 1

【数据范围】
N≤10000

【算法分析】
● 孙子节点的界定

boyi2166

孙子结点,就是儿子结点的儿子结点。在上图中,节点 1 的孙子节点为节点 2,节点 2 的孙子节点为节点 3、4、5,节点 3 无孙子节点,节点 4 无孙子节点,节点 5 的孙子节点为节点 6,节点 6 无孙子节点。

● 链式前向星、邻接表
链式前向星:https://blog.csdn.net/hnjzsyjyj/article/details/139369904
邻接表(无向无权图):https://blog.csdn.net/hnjzsyjyj/article/details/101233779
邻接表(有向无权图):https://blog.csdn.net/hnjzsyjyj/article/details/101233485

● 链式前向星在算法竞赛中是‌最常用‌的图存储方法,尤其在处理大规模稀疏图时,其空间和时间效率优势显著。邻接表虽简单直观,但在竞赛中已逐渐被链式前向星取代。

● 注意:由于无权图的邻接表代码简单直观,所以在处理无权图时,可以选择邻接表。

【算法代码一:邻接表】

#include<bits/stdc++.h>
using namespace std;const int maxn=1e+5;
vector<int> v[maxn];
int idx,imax=INT_MIN;
int n,cnt,x;int main() {cin>>n;for(int i=1; i<=n; i++) {cin>>cnt;while(cnt--) {cin>>x;v[i].push_back(x);}}for(int i=1; i<=n; i++) {int sum=0;for(int j=0; j<v[i].size(); j++) {int t=v[i][j];sum+=v[t].size();}if(sum>imax) {imax=sum;idx=i;}}cout<<idx<<" "<<imax;return 0;
}/*
in:
5
2 2 3
1 4
0
1 5
0out:
1 1
*/

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

#include <bits/stdc++.h>
using namespace std;const int maxn=1e+5;
int e[maxn],ne[maxn],h[maxn],idx;
int id,imax=INT_MIN;
int n,cnt,x;void add(int a,int b) {e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}int main() {memset(h,-1,sizeof h);cin>>n;for(int i=1; i<=n; i++) {cin>>cnt;while(cnt--) {cin>>x;add(i,x);}}for(int i=1; i<=n; i++) {int sum=0;for(int j=h[i]; j!=-1; j=ne[j]) {int t=e[j];for(int k=h[t]; k!=-1; k=ne[k]) sum++;}if(sum>imax) {imax=sum;id=i;}}cout<<id<<" "<<imax;return 0;
}/*
in:
5
2 2 3
1 4
0
1 5
0out:
1 1
*/




【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/155679814
https://blog.csdn.net/hnjzsyjyj/article/details/155690173
https://blog.csdn.net/hnjzsyjyj/article/details/152726091
https://blog.csdn.net/hnjzsyjyj/article/details/152729089
https://blog.csdn.net/chensimiao0717/article/details/143650804
https://mybzjq.blog.csdn.net/article/details/137256161

​

相关新闻

  • 2025年LinkedIn B2B推广服务商排行榜:浙江亿企邦为何稳居榜首?
  • JSAPIThree 加载天地图学习笔记:使用天地图影像服务
  • 2025上海新加坡留学中介排名全解,择校从此轻松无忧

最新新闻

  • Python 爬虫遇到 403 的经验复盘
  • MCF5272中断系统与PLIC模块配置实战指南
  • 第02章|过目不忘:Claude Code 记忆系统与 CLAUDE
  • 医疗陪诊顾问证书用途大盘点!不止接单从业这一项 - 光耀华夏品牌榜
  • 17_家政服务_GEO营销案例实践总结 - 技术瞭望台
  • E-Ink Launcher:为墨水屏设备打造的终极Android启动器解决方案

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

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

关于尧图

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

服务项目

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

快速链接

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

联系方式

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

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