1094 The Largest Generation

题目大意

给你一颗树,要求得到结点最多的层号及其结点数

核心思路

建立二维数组vector v[105];用来存储这颗树(下标为该结点编号,数组元素为该结点的孩子们的编号);int book[105];用来存储每一层的结点数(下标为层号,值为这层的结点数)

  1. 建树
  2. 深度优先遍历,求出每一层的结点数
  3. 遍历数组book,记录最大层号cenghao和最大结点数量num
  4. 输出

代码

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;vector<int> v[105];//建立二维数组v,下标为该结点编号,数组元素为该结点的孩子们的编号
int book[105];//记录每一层的结点个数,下标为层号
void dfs(int root,int k){if(v[root].size()==0){book[k]++;return;}book[k]++;for(int i=0;i<v[root].size();i++){dfs(v[root][i],k+1);}
}int main(){int n,m;cin>>n>>m;//读入结点个数,有孩子的结点个数//初始化这棵树for(int i=0;i<m;i++){int r,k;cin>>r>>k;for(int j=0;j<k;j++){int ans;cin>>ans;v[r].push_back(ans);}}//深度优先遍历,记录最大层的结点个数和层号dfs(1,1);//节点编号,层号//遍历数组book,记录最大层号和最大结点数量int cenghao,num=0;for(int i=1;i<=100;i++){if(book[i]>num){num=book[i];cenghao=i;}}cout<<num<<" "<<cenghao<<endl;
}

类似题目

1004 Counting Leaves

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int n,m;//节点总数,非叶子结点总数
vector<int> v[100];//建立一个二维数组,下标为结点编号,数组元素为所有孩子结点编号
int book[105];//记录每一层的叶子结点数量
int maxcenghao=-1;
void dfs(int root,int cenghao){if(v[root].size()==0){book[cenghao]++;maxcenghao=max(maxcenghao,cenghao);return;}for(int i=0;i<v[root].size();i++){dfs(v[root][i],cenghao+1);}
}int main(){//读入所有数据cin>>n>>m;for(int i=0;i<m;i++){int root,k,ans;cin>>root>>k;for(int i=0;i<k;i++){cin>>ans;v[root].push_back(ans);}}//dfs深搜,记录每一层的叶子结点的数量dfs(1,1);//从根结点01,层号1开始深搜//输出for(int i=1;i<=maxcenghao;i++){if(i!=1) cout<<" ";cout<<book[i];}
}

A1094、A1004相关推荐

  1. 专利审查指南(2010)

    专利审查指南(2010) http://www.chinalaw.gov.cn/article/fgkd/xfg/gwybmgz/201004/20100400253035.shtml来源国务院法制办 ...

  2. 湖南省中职学业水平测试试题信息技术

    试题: 1.按照指法要求,击打空格键,应使用( ). A.左手和右手的食指,因食指最灵活 B.左手或右手的拇指 C.左手或右手的中指 D.左手或右手的无名指 2.显示器的清晰度是由( )决定的. A. ...

  3. Photoshop入门与进阶实例:1.4 图层的概念和基本操作

    1.认识图层 图层功能被誉为Photoshop的灵魂,这个比喻一点也不夸张!图层在我们使用Photoshop进行图像处理中,具有十分重要的地位,也是最常用到的功能之一.掌握图层的概念是我们学习Phot ...

  4. 2023年你最值得了解的信息技术-AI篇(二)

    20688 北京朗阁信息技术有限公司 企业服务  前沿技术 北京市 mailkey 专注云企业邮件领域的产品,随云服务而生. 未融资 MailKey 是北京朗阁信息技术有限公司(以下简称"朗 ...

  5. 压力传感器PFPL203 3BSE055365R1 NPI-15J-C00903 GE/Nova70M P7620C0042A A1004 A1020 C0040 C0042B LPE9400

    ABB缸压传感器PFPL203,柴油机气缸压力监测ABB Cylmate®系统是对发动机运行状态进行连续监测和分析的综合系 统.v18 0 3 0 18 30 32对气缸压力和曲轴位置的测量,结合AB ...

  6. 【PAT】PAT总结《搜索、打表、分治、排序算法、队列、栈、堆、Hash》

    打表 打表这个技巧其实我们在素数部分的题已经涉及到了.还是要仔细思考,什么时候应该打表,打表有助于减少后续的计算的时候,我们应该打表, 特别是查询量特别大,即时计算无论多么快都会超时的情况.或者逆向运 ...

  7. 程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知

    程序主动进行电话短信报警,自定义电话.短信.钉钉报警通知 一. 规则说明 这里我们要利用到阿里云的云监控的手段,有一个叫做事件监控的东西,可以通过自定义事件上传来进行监控报警. 流程: 程序发现错误 ...

  8. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  9. 在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)

    现象:在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码.通讯内容或信用卡信息). 当点开"了解详情"后显示 ...

最新文章

  1. “产教融合新范式,校企聚力新实践”——2018杭州云栖大会大学合作专场论坛成功举办...
  2. 为什么S/4HANA的销售订单创建会触发生产订单的创建
  3. Word中插入参考文献及其引用并能够自动更新的方法
  4. Coursera课程Python for everyone:chapter5
  5. 重温SQL——行转列,列转行
  6. 改变select元素原来的事件属性,并加快捷键
  7. Java并发编程举例Runnable, Callable, Future, FutureTask, CompletionService
  8. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
  9. cesium加载entity图片缩放_Cesium中级教程4 – 空间数据可视化(二)
  10. java 数据库编程(一)JDBC连接Sql Server数据库
  11. html网页中使用mock,前端工具mock的使用 - 造数据模拟网络请求
  12. rabbitmq 手动提交_RabbitMQ 相关问题总结--RabbitMQ 如何确保消息发送和消费?
  13. 2022年全球与中国一次性内窥镜市场现状及未来发展趋势
  14. win10激活--以专业版(professional)为例
  15. vbs或vbe如何修改图标
  16. 集体建设用地审批程序:
  17. 集成OpenLDAP与Kerberos实现统一认证(三):基于SASL/GSSAPI深度集成
  18. CSS遮罩父元素透明,子元素不透明
  19. 不背公式快速计算IP地址掩码---游码法
  20. 线性代数系列(二)--矩阵变换

热门文章

  1. 蓝桥杯评分标准_蓝桥杯软件设计大赛自测评分标准
  2. rewind() 函数
  3. 普通的单模光纤和单模光纤跳线是否可以达到万兆速度?
  4. java控制语句_java基础之 控制语句
  5. Android性能优化的5种方案
  6. VML编辑器代码实现(转载)
  7. mysql 三角函数_MySQL常用函数
  8. Repeater控件动态变更列(Header,Item和Foot)信息
  9. 高洛峰招徒培养IT名师
  10. linux centOS6.5防火墙