pat1004Counting Leaves (30)

【PAT甲级】1004 Counting Leaves (30 分) JS 最近疫情在家办公,足不出户,做做PAT的题。奉上【PAT甲级】JS解题分析————第三篇。(1003Emergency暂时还不会,先跳过,哈哈) 阅读详情

题意分析:

(1)给出树中节点的总数以及非叶子节点的总数,并给出各非叶子节点的编号、其孩子节点的个数、其孩子节点的编号,求出每一层叶子节点的个数

(2)题意是求出每一层的叶子结点数,其次给出的节点的父子关系很明确,应使用层序遍历的方式

(3)层序遍历过程中存储节点的队列中在front和rear指针之间需要借助一个tag指针,用来标记从front指针到rear指针之间的节点处于同一层,然后开始计数。事实上,这个tag就是上一层父节点的所有孩子节点入队后rear指针的位置,这些孩子节点处于同一层。

可能坑点:

(1)数的存储可以使用Vector,也可以使用二维数组,这里由于树节点不大,直接采用二维数组方便一点,若节点数较多,建议使用Vector,否则可能会造成内存的浪费或溢出

#include <iostream>

using namespace std;
int node[100][100]={0};
int array[100];
int main()
{
    int N,M,ID,K;
    cin>>N>>M;
    int i=0;
    while(i<M)
    {
        cin>>ID>>K;
        int j=0;
        while(j<K)
        {
            cin>>node[ID][j];
            j++;
        }
        i++;
    }
    array[0]=1;
    int first=1;
    int front=0,rear=1;
    while(front<rear)
    {
        int tag=rear;
        int cnt=0;
        
        while(front<tag)
        {
            int i=0;
            if(node[array[front]][0]==0)cnt++;
            else
            {
                while(node[array[front]][i])
                {
                    array[rear++]=node[array[front]][i];
                    i++;
                }
            }
            front++;
        }
        if(first)first=0;
        else cout<<" ";
        cout<<cnt;
    }
    cout<<endl;
    return 0;
}



1004. Counting Leaves (30) 1004. Counting Leaves (30) 来自:http://blog.youkuaiyun.com/sunbaigui/article/details/8657008 立即下载

相关推荐

Win10插网线显示未识别网络的三种解决方法

本文介绍了三种解决Win10插网线显示未识别网络问题的方法:更新或重启网络设备驱动程序、重置Winsock目录、启用Network Setup Service服务。这些方法都是基于常见的网络问题和解决方案而设计的,适用于大多数Win10用户。如果你遇到了这一问题,可以按照上述步骤进行操作,相信一定能够找到解决问题的方法。需要注意的是,在进行任何操作之前,请务必备份重要数据以防万一。此外,如果你对计算机硬件或软件不熟悉,建议寻求专业人士的帮助以避免造成不必要的损失。

nntxthml的博客 6774

1004 Counting Leaves (30分)

题目链接1004 Counting Leaves 题意:给出树的总结点个数,和非叶子结点个数,然后给出非叶子结点的孩子结点,求每层的叶子结点数。 使用邻接表储存输入的数据。 然后bfs从根结点1遍历,level++.返回最大的层数。 坑点: 数据结点值不是1-n是随机的,根节点是1。 输入的数据不一定是先输入父节点。------第一次没用BFS直接输入数据的时候处理的,没有想到这种情况,搜了几个...

qq_37866436的博客 205

openEuler 欧拉 安装Oracle19c数据库RPM包安装

欧拉系统安装部署oracle 19c rpm方式

陈苏漾的IT生涯 6894

PAT 甲级1004 Counting Leaves

PAT 甲级1004 Counting Leaves N为树中节点数量0 < N < 100,M为叶子节点数量。 ID是代表非叶子节点的两位数(有child),K是其儿子节点数量, 后跟k个儿子节点ID 要按层输出每层叶子节点的数量 就是对树进行搜索 深度优先搜索DFS 按深度优先对树进行搜索,每当遇到一个节点,如果该节点是叶子节点,则将该层的叶子节点数量++,同时比较该层深度与已知最大深度,如果该层深度更深,更新最大深度。 如果该节点不是叶子节点,则对该节点的每个叶子节点,递归调用本函数。

weixin_43480561的博客 518

IQA图像质量评价 数据集介绍(LIVE、TID2013、CSIQ、LIVEC、KonIQ-10K)

LIVE、TID2013、CSIQ、LIVEC、KonIQ-10K 数据集介绍

qq_37925923的博客 1万+

FileZilla Server 1.2.0 TLS证书过期问题

FileZilla Server TLS证书过期后重新生成

Wigle的备忘录 7528

PAT甲级真题-1004 Counting Leaves详解优化

1004 Counting Leaves 题目链接 https://pintia.cn/problem-sets/994805342720868352/problems/994805521431773184 解题思路 1.vector记录每个节点的子节点; 2.用BFS遍历的同时记录节点的子节点树ans[to]; 3.当节点to的子节点有子节点时,ans[to]-1(最小为0); 4.有个测试点是考察只有根节点(即m==0)的特殊情况。 总结 1.考察BFS的层次性。 代码展示 #include<

高高冷的博客 554

把外部系统接到 SAP Build Process Automation 的两条路:前台直连与后台编排的完整范式

想把外部系统接入到你的【销售订单管理】审批流程,最稳妥的路径是:在流程里开一个,在 BTP 配好以为核心的 Destination,让前端经由approuter代理、后台通过 Cloud SDK 直连,任务处理用My Inbox或Task APIs,异步对接用。这套组合拳,既满足安全边界与运维规范,又能让前台与后台两个世界各取所需、自然衔接。SAP。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1661

PTA甲级刷题1004 Counting Leaves(详细注释版+思路总结)

目录看这里大哥们!PAT甲级刷题笔记(C++)1003 Emergency(最短路径搜索)(1)题目(2)代码和注释(3)归纳与反思功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 PAT甲级刷题笔记(C++) Hello!朋友们俺

HLY:) 的博客 1035

uniapp - 解决报错 canvasToTempFilePath: fail canvas is empty 画布为空错误,生成海报相册、二维码、条码、裁剪/拼合操作图片报错,加了this还是报错

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,canvasToTempFilePath:失败画布为空,报错,canvasToTempFilePath:failcanvasisempty,不支持2d,还是报错,this,加上this还是报错,vue3没有this怎么办?海报,保存到手机相册,生成二维码,显示条码,图像裁切,图片处理,canvas报错,无法解决,还是fail,依然报错,传了this也不好使,Uniapp小程序,如何解决这个问题

🏆 前端领域优质创作者 4708

微信文件自动归档!手把手教你用OpenClaw搭个自己的“数字员工”,告别重复劳动

很多人说“AI是未来”,但未来不是靠喊口号的。OpenClaw的真正价值,是让你把重复劳动交出去,把时间留给真正需要创造力的事。这事真能干,而且不难。下载OpenClaw(GitHub仓库按我写的步骤跑一遍遇到坑,评论区留言——我亲自帮你看作者后记:上周五,我让AI自动归档了文件后,终于在5点准时下班。回家路上,我给它发了条消息:“干得漂亮”。它没回,但我知道——它在默默等我的下一条指令。

2601_94871597的博客 414

PAT  1004 Counting Leaves(层序遍历求树每层叶节点个数)

1004 Counting Leaves 层序遍历

weixin_54453878的博客 299

【C语言】一文带你拿捏分支和循环语句(一万字详细讲解)

if/switch语句、while/fo/do...while循环语句、goto语句详解

StackFrame 1234

【PAT甲级】1004 Counting Leaves (30 分)

【PAT甲级】1004 Counting Leaves (30 分)

D_D_L_L_的博客 294

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

[PAT-Advanced] A1004 Counting Leaves (30)

文章目录A1004 Counting Leaves (30point(s))Input Specification:Output Specification:Sample Input:Sample Output:CodeAnalysis A1004 Counting Leaves (30point(s)) A family hierarchy is usually presented by a p...

Duke 312

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

PAT(甲级)1004 Counting Leaves (30分)

题目来源:1004 Counting Leaves (30分) 题目描述: Sample Input: 2 1 01 1 02 Sample Output: 0 1 题目翻译: 一个家庭的层级结构经常被表现为一个家谱树。你的任务是统计这些家庭成员中谁没有孩子。 输入 每个输入文件包含一个测试实例。每个实例开始的一行包含N和M,N指树中的结点个数(0<N<100),M指非叶结点的个...

sinat_41835935的博客 274

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

PAT 1004. Counting Leaves (30)

http://www.patest.cn/contests/pat-a-practise/1004 1004. Counting Leaves (30) A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no ch...

dengkonglou4529的博客 127

PAT甲级 - 1004 Counting Leaves (30 分)

题目链接:(PAT甲级)1004 Counting Leaves (30 分) A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each input file...

272

PAT练习题(甲级) 1004 Counting Leaves (30分)(Java实现)

PAT练习题 1004 Counting Leaves(Java)题目题意解题思路代码实现 题目 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each inpu...

CoderHqf的博客 1万+

PAT甲级1004 Counting Leaves (30分)

PAT甲级1004 Counting Leaves (30分) 题目: 思路:dfs,见注释 AC代码附上: #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using namespace std; const int maxn=110; v...

weixin_43795683的博客 159

PAT 1004 Counting Leaves (30分)

Counting Leaves原题题意思路自己写的代码思路改进 原题 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each input file contains one test case. Each case starts with a line containing

离开那天的博客 286

Day2: [PAT] 1004 Counting Leaves (30 分)

Day2: [PAT] 1004 Counting Leaves (30 分) 题源: 来自PAT甲级题库1004: https://pintia.cn/problem-sets/994805342720868352/problems/994805521431773184 思路: 该题考查通过队列对一颗树进行层序遍历,要注意的有两点: 1在读入树的时候就可以记录各个节点的出度入度情况,以便查找...

qq2215459786的博客 142

[C++] PAT 1004 Counting Leaves (30分)

Sample Input: 2 1 01 1 02 Sample Output: 0 1 题解: 给出一棵树,问每一层有多少个叶子节点,采用了DFS遍历 在#include <iostream> #include <vector> using namespace std; const int MAXN = 110; vector<int> T[MAXN];//T树结构 int n,depth[MAXN]={0};//n 节点数, depth[]深度 int .

快乐de约定的博客 2042

PAT 1004 Counting Leaves (30 分)

1004 Counting Leaves (30 分) A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each input file contains one ...

peanWang的博客 371

PAT 甲级1004 Counting Leaves (30 分)

1004Counting Leaves(30分) A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Specification: Each input file contains on...

Dexter 492
上一篇: pat1003Emergency (25)
下一篇: pat1005Spell It Right (20)
LostStephon
博客等级 码龄11年 14粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值