A1094、A1004
1094 The Largest Generation
题目大意
给你一颗树,要求得到结点最多的层号及其结点数
核心思路
建立二维数组vector v[105];用来存储这颗树(下标为该结点编号,数组元素为该结点的孩子们的编号);int book[105];用来存储每一层的结点数(下标为层号,值为这层的结点数)
- 建树
- 深度优先遍历,求出每一层的结点数
- 遍历数组book,记录最大层号cenghao和最大结点数量num
- 输出
代码
#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相关推荐
- 专利审查指南(2010)
专利审查指南(2010) http://www.chinalaw.gov.cn/article/fgkd/xfg/gwybmgz/201004/20100400253035.shtml来源国务院法制办 ...
- 湖南省中职学业水平测试试题信息技术
试题: 1.按照指法要求,击打空格键,应使用( ). A.左手和右手的食指,因食指最灵活 B.左手或右手的拇指 C.左手或右手的中指 D.左手或右手的无名指 2.显示器的清晰度是由( )决定的. A. ...
- Photoshop入门与进阶实例:1.4 图层的概念和基本操作
1.认识图层 图层功能被誉为Photoshop的灵魂,这个比喻一点也不夸张!图层在我们使用Photoshop进行图像处理中,具有十分重要的地位,也是最常用到的功能之一.掌握图层的概念是我们学习Phot ...
- 2023年你最值得了解的信息技术-AI篇(二)
20688 北京朗阁信息技术有限公司 企业服务 前沿技术 北京市 mailkey 专注云企业邮件领域的产品,随云服务而生. 未融资 MailKey 是北京朗阁信息技术有限公司(以下简称"朗 ...
- 压力传感器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 ...
- 【PAT】PAT总结《搜索、打表、分治、排序算法、队列、栈、堆、Hash》
打表 打表这个技巧其实我们在素数部分的题已经涉及到了.还是要仔细思考,什么时候应该打表,打表有助于减少后续的计算的时候,我们应该打表, 特别是查询量特别大,即时计算无论多么快都会超时的情况.或者逆向运 ...
- 程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知
程序主动进行电话短信报警,自定义电话.短信.钉钉报警通知 一. 规则说明 这里我们要利用到阿里云的云监控的手段,有一个叫做事件监控的东西,可以通过自定义事件上传来进行监控报警. 流程: 程序发现错误 ...
- nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问
nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...
- 在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码、通讯内容或信用卡信息)
现象:在Chrome中打开网页时出现以下问题 您的连接不是私密连接 攻击者可能会试图从 x.x.x.x 窃取您的信息(例如:密码.通讯内容或信用卡信息). 当点开"了解详情"后显示 ...
最新文章
- “产教融合新范式,校企聚力新实践”——2018杭州云栖大会大学合作专场论坛成功举办...
- 为什么S/4HANA的销售订单创建会触发生产订单的创建
- Word中插入参考文献及其引用并能够自动更新的方法
- Coursera课程Python for everyone:chapter5
- 重温SQL——行转列,列转行
- 改变select元素原来的事件属性,并加快捷键
- Java并发编程举例Runnable, Callable, Future, FutureTask, CompletionService
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
- cesium加载entity图片缩放_Cesium中级教程4 – 空间数据可视化(二)
- java 数据库编程(一)JDBC连接Sql Server数据库
- html网页中使用mock,前端工具mock的使用 - 造数据模拟网络请求
- rabbitmq 手动提交_RabbitMQ 相关问题总结--RabbitMQ 如何确保消息发送和消费?
- 2022年全球与中国一次性内窥镜市场现状及未来发展趋势
- win10激活--以专业版(professional)为例
- vbs或vbe如何修改图标
- 集体建设用地审批程序:
- 集成OpenLDAP与Kerberos实现统一认证(三):基于SASL/GSSAPI深度集成
- CSS遮罩父元素透明,子元素不透明
- 不背公式快速计算IP地址掩码---游码法
- 线性代数系列(二)--矩阵变换