A1004 Counting Leaves (30 分)

1004 Counting Leaves (30)(30 分)树的遍历 1 题目 2 解题思路 3 AC代码 1 题目 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Each input file contains one ... 阅读详情

1004 Counting Leaves (30 分)

解题思路

       题目以家谱树为背景,真实的目的是以层为单位,计算叶子结点的数目。虽然考察的是树的相关内容,但是不需要建树。只需要借用层次遍历的思路就可以确定每个结点所属的层。然后使用哈希表在输入的时候标记非叶结点,剩下的就是叶子结点。

AC代码

#include <cstdio>
#include <vector>
#include <queue>
using namespace std;

vector<int> adj[101];
int hashtable[101] = {0};
int pos[101] = {0}; // 记录下标对应的结点的层
vector<int> output; // 记录下标对应的层的叶子结点的数目
int main() {
	int n, m;
	scanf("%d %d", &n, &m);
    output.resize(n + 1);
    for (int i = 0; i < m; ++i)
    {
    	int id, k;
    	scanf("%d %d", &id, &k);
    	hashtable[id] = 1;
    	for (int i = 0; i < k; ++i) {
    		int temp;
    		scanf("%d", &temp);
    		adj[id].push_back(temp);
    	}
    }
    pos[1] = 1;
    queue<int> q;
    q.push(1);
    int level = 0;
    while(!q.empty()) {
    	int p = q.front();
    	q.pop();
    	for (int i = 0; i < adj[p].size(); ++i) {
    		q.push(adj[p][i]);
    		pos[adj[p][i]] = pos[p] + 1;
    		if (level < pos[p] + 1) 
    			level = pos[p] + 1;
    		if (hashtable[adj[p][i]] == 0)
    			output[pos[adj[p][i]]]++;
    	}
    }
    if (n == 1) printf("1\n"); // 特判,如果只有一个结点
    else if (n != 1 && n != 0){
    	printf("0 ");
    	for (int i = 2; i <= level; ++i) {
    		printf("%d%s", output[i], i == level ? "\n" : " ");
    	}
    }
    return 0;
}

网易数智CoreAgent实战:5步教你打造企业级AI数字员工(附避坑指南) 本文以网易数智CoreAgent智能体协作中枢为核心,提供了一份企业级AI数字员工的实战部署指南。文章详细拆解了从环境准备、智能体配置、业务集成、安全合规到效果评估的五个关键步骤,并分享了部署过程中的常见“避坑”经验,旨在帮助企业技术团队高效、安全地将AI智能体落地于实际业务场景,解决AI落地难题。 阅读详情

相关推荐

PaddleOCR实战:从零开始打造专属OCR模型的完整指南

本文提供了一份从零开始使用PaddleOCR打造专属OCR模型的完整实战指南。内容涵盖环境搭建、数据标注与准备、模型训练与调优,以及最终的模型转换与部署。重点介绍了如何利用PaddleOCR进行模型训练,并整合PPOCRLabel等工具高效准备数据集,帮助开发者快速构建适用于特定场景的高精度OCR识别能力。

rl6adventurer的博客 733

1004 Counting Leaves (30 分)

一、题目 大意:输入节点个数n和非叶节点个数m,并在接下来的m行中以如下形式输入节点id的子节点:id 子节点个数 子节点1 子节点2……。要求输出每一层中叶节点(没有孩子的节点)的个数。 二、有问题的思路和代码 #include <iostream> using namespace std; #define MaxNum 101 typedef struct Node{ ...

自己人的博客 1881

涨姿势|小众建模软件Make human,MakeClothes插件使用详解教程(2)

衣服可以从头开始建模,或者通过改变人体网格或由MakeClothes工具提供的“服装助手”(见下文)来建模。在设计和建模一件衣物时,应该记住两个限制。首先,将服装网格映射到人体网格的算法要求服装网格完全由四面体组成。其次,知道MakeClothes每件衣服只支持一种材料是很重要的。 完成MakeClothes工作流程后,您的HOME / makehuman / v1 / data / clothes中的工具将创建一个新文件夹。该文件夹将采用用户为服装项目提供的唯一名称。该文件夹将填充必要的资源,以使该项目在

Crazy_in_3Dmax的博客 1875

[PAT] 1004 Counting Leaves (30 分)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 input file contains one test case. Each case s...

Simma1101的博客 356

Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析

写在前面✍ 本系列笔记基于天池平台上“资金流入流出预测-挑战Baseline”学习赛,记录如何完整的打一次数据挖掘类比赛。同时,该比赛属于序列建模问题,希望学习完成这个任务,可以对序列问题的处理有一定的独立思考能力和实践操作能力,可以将所学理论,用编码的形式和实际的问题得到深入。 第一篇,EDA Content: 初步了解赛题及数据 1.1 任务 1.2 用户基本信息数据 1.3 用户申购赎回数据 1.4 收益率表 1.5 银行间拆借利率表 1.6 提交格式 1.7 评分指标 EDA 1 初.

小卜妞的博客 2358

CTFHUB------XSS反射型(WP)

文章目录前言XSS测试平台 前言 一开始我直接在上面写js脚本发现出错,最后发现只能通过下面的输入框来执行XSS测试,于是我们只能用XSS测试平台解决问题 XSS测试平台 注册一个XSS测试平台 这里随便填写 勾选默认模块就够了,点击下一步 这时会出现一个找个将代码复制 拼接到网站后缀name后面,点击send 这时平台会收到一个记录点开即可 得到flag ...

Y4tacker的博客 1万+

PAT甲级 1004.Counting Leaves (30) 题目翻译与答案

1004.计算叶子个数 一个家庭的层级结构经常被表现为一个家谱树。你的任务是统计这些家庭成员中谁没有孩子。 输入 每个输入文件包含一个测试实例。每个实例开始的一行包含N和M,N指树中的结点个数(0<N<100),M指非叶结点的个数。然后下面有M行,每行的格式如下:

Coding home - 漂流瓶jz 8538

【编译原理】LL(1)分析方法 生成语法树(c++实现)

基本流程 输入文法->消除左递归->提取左公共因子->求FIRST集->求FOLLOW集->LL(1)分析表->表驱动的预测语法分析过程->输出语法分析结果和语法树

qq_43417265的博客 1万+

7-21 Counting Leaves (30 分)

树+DFS 目标:统计每层的叶子节点个数 主要是存储树的父子关系,然后统计。 #include <cstdio> #include <iostream> #include <algorithm> #include <vector> #include <string.h> using namespace std; const int N =...

姚军 351

nmap、X-Scan漏洞扫描和Metasploit中用永恒之蓝漏洞入侵靶机并上传冰河

利用nmap、X-Scan扫描靶机的漏洞,在Metasploit中用扫描出的永恒之蓝漏洞入侵靶机,建立连接后上传冰河木马控制靶机,最后用冰河陷阱清除靶机的冰河木马,记一次完整的入侵控制实验。

m0_59302403的博客 4408

【WRF理论第十四期】 VEGPARM.TBL 文件详解

WRF 读取 VEGPARM.TBL 文件

WW、forever的博客 576

A1004 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 test case. Each case starts...

iDestro的博客 266

网格质量评价

CFD中评价网格质量的方法

B_etter_Man的博客 1万+

PAT A1004 Counting Leaves (30分)

PAT A1004 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 test case. Each case starts with a lin

kyln1039的博客 172

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

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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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

【版本一:层次遍历思想,22分】 思想:开一个vector数组,记录每个节点的子节点;然后做一次层次遍历就好了。问题是如何区分两个不同的层次呢?这里我引入了一个last变量来记录每一个层次最后一个节点的值。这样只需要不停地更新last就好啦~ 测试点一死活过不去,提示段错误!我要被折磨死了 #include <bits/stdc++.h> using namespace std; ve...

weixin_42278063的博客 217

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

PAT A1004 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 test case. Each case starts with a line containing 0<N

一只小羊 940

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

A1004 Counting Leaves (30 分)

#include <iostream> #include <algorithm> #include <cmath> #include <cstring> #include <vector> #include <queue> using namespace std; struct Node{ int layer; vect...

破烂仙人 130

PAT-A 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 test case. Each case starts...

qq_38127801的博客 253

PAT A1004 Counting Leaves (30分) C++/cpp实现

PAT A1004 Counting Leaves (30分) 题目 原题链接 题目大意 按照题目要求输入节点信息,统计每一层时叶子节点的数量 大体思路 本质上就是构建一棵多叉树,根据题目数据输入的特性,采用静态构建多叉树,遍历访问每一个节点,判断该节点是不是叶子节点,如果是则相应的层数加1。该题可采用BFS和DFS,个人认为DFS写起来比较容易理解简洁。 代码 #include<stdio...

qq_41706836的博客 271

【PAT甲级A1004 】Counting Leaves (30分)(c++)

1004 Counting Leaves (30分) 作者:CHEN, Yue 单位:浙江大学 代码长度限制:16 KB 时间限制:400 ms 内存限制:64 MB 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 t

小庄同学的博客 264

A1004 Counting Leaves (30 分)

#include&lt;cstdio&gt; #include&lt;vector&gt; using namespace std; const int maxn = 110; int n, m, k; vector&lt;int&gt; v[maxn]; int level[maxn] = { 0 }; int maxdepth = -1; void dfs(int root,int depth...

A_Aria的博客 191

PAT A 1004 Counting Leaves (30 分)

题目概述&样例 即:族谱以树形结构存储, 输出每层无子结点数量

Siumai's Blog 165
上一篇: A1003 Emergency (25 分)
下一篇: A1007 Maximum Subsequence Sum (25 分)
LinxRds
博客等级 码龄9年 0粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值