PAT1004 Counting Leaves Python DFS

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 contains one test case. Each case starts... 阅读详情

题目大概意思就是统计一个树中每一层叶节点的个数。
节点编号从01开始,程序将其转化为从1开始。最终提交结果(27/30)
第五个测试点就是不通过!求好心人解答。
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805521431773184
在这里插入图片描述
在这里插入图片描述

用深度优先搜索遍历整棵树,树采用map存储
def main():
  G ={}
  level = [0] * 101
  visted = [0] * 101
  def dfs(node, degree):
    visted[node] = 1
    if G.get(node, -1) == -1:     # 没有子节点
      level[degree] += 1
      return
    for child in G[node]:          # dfs遍历当前节点的所有子节点
      if visted[child] == 0:
        dfs(child, degree+1)
  ##########      
  N, M = list(map(int, input().split(" ")))
  if N == 1:                       # 只有一个节点直接输出1
    print(1)
  else:                          
   # 初始化树
    for _ in range(M):
      node, k, *child_nodes  = list(map(int, input().split(" ")))
      G[node] = child_nodes
      
    dfs(1, 0)     # 从根节点开始遍历
    
    leaves = N - M
    count = 0
    result = ''
    for num in level:
      result += str(num) + ' '
      count+=num
      if count >= leaves:
        break
    print(result.strip())    # 去除首尾的空格
    return 0
if __name__ == '__main__':
  main()
linux CentOS7安装VCS、Verdi、SCL 1.Linux下所需安装文件 链接:https://pan.baidu.com/s/1E_l4ARFYEnp57jlX95Bpog 提取码:ggdz ​ synopsysinstaller_v5.0 ​ scl_v2018.06 ​ vcs_mx_vO-2018.09-SP2 ​ vcs_vO-2018.09-SP2 ​ verdi-2018.9 2.Windows破解文件 ​ scl_keygen_2030 3.安装installer 打开终端,进入synopsysinstaller_ 阅读详情

相关推荐

避坑!瑞萨RZ/N2L用J-Link下载调试的那些‘坑’(从驱动版本到硬件架构选择)

本文详细解析了瑞萨RZ/N2L开发中使用J-Link调试时常见的兼容性问题与解决方案,包括驱动版本选择、SWD连接优化及e2 studio调试技巧。特别针对硬件架构与驱动版本的匹配问题提供了实用对照表,帮助开发者高效避开调试陷阱,提升开发效率。

weixin_30576827的博客 441

python-PAT甲级题解-1004

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 containing0<N<100, the number of nod.

m0_48118006的博客 310

Masta调用Geometry Modeller(Space Claim)进行根据三维模型快速建模设置方法

masta中调用ANSYS的space claim的设置方法

xifegnlie的博客 241

【python】【PAT】1004.读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

m0_65417385的博客 721

2026年4月AI爆发周:阿里连推三款模型、字节全双工语音上线,国内大模型进入“落地竞速“新阶段

**摘要:**2026年4月初,国内AI大模型迎来密集发布,阿里、字节、腾讯分别推出新产品。阿里一周发布三款模型,覆盖通用推理、多模态轻量化和长文档处理,API价格大幅下降;字节推出全双工语音模型,实现实时交互,技术难度高;腾讯混元3.0强调工程化和生态整合,面向企业私有化部署。趋势显示,行业从性能竞赛转向落地竞赛,多模态成为主战场,API成本降低,开发者选择更丰富。国内大模型竞争重点转向实际应用和生态整合。

weixin_45526015的博客 1万+

避开SiC MOSFET驱动设计的3个大坑:电流/电阻/电压配置全指南

本文深入解析SiC MOSFET驱动设计中的三大关键参数:驱动电流、栅极电阻和工作电压,揭示常见设计误区与优化方案。通过实际案例与数据对比,指导工程师避开第三代电力电子半导体应用中的典型陷阱,提升系统可靠性与效率。特别针对驱动电源配置、栅极电阻选型等核心问题提供可落地的解决方案。

weixin_29214199的博客 384

1004 Counting Leaves (Python实现)

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...

哆啦梦工厂的博客 629

告别玄学调试:用STM32CubeMX和逻辑分析仪搞定DP83848的RMII与SMI接口

本文详细介绍了如何使用STM32CubeMX和逻辑分析仪调试DP83848的RMII与SMI接口,帮助开发者超越表象,直接观察底层通信波形。通过实战案例和高级调试技巧,解决常见问题如时钟偏移、信号完整性等,提升网络接口的稳定性和可靠性。

weixin_30752699的博客 299

PAT 1004 1004 Counting Leaves 满分 测试点问题记录

PAT 1004 代码 #include <iostream> #include <vector> #include <algorithm> using namespace std; vector<int> v[100]; int result[100]; vector<int> mark; int max_depth; // 创建二维数组,知一维的个数 void dfs(int cur,int depth){ if (v[cur].si

qq_45092173的博客 663

海康威视国内版监控设备改英文界面难题:原因解析与解决方案

跨境安防设备部署中,国内采购的海康威视监控设备常因仅支持中文界面导致海外用户无法操作。本文剖析了该问题的核心原因:海康威视对国内版和海外版设备实行区域锁定策略,国内版固件仅内置中文且无法通过常规方式切换语言。针对此问题,文章提供了三种解决方案:1)官方合规的海外版固件更换;2)低成本的操作界面翻译与远程协助;3)长期更换海外版设备的彻底解决方案。同时给出了跨境采购的注意事项,强调应提前确认设备版本、拒绝非官方改造并预留适配时间。

海康威视技术支持 3952

浅谈python反序列化漏洞

0x01 python序列化与反序列化 Python 的序列化和反序列化是将一个类对象向字节流转化从而进行存储和传输,然后使用的时候再将字节流转化回原始的对象的一个过程。python中的序列化操作是通过pickle模块,而该模块主要包含l dumps将dict转化为str格式,loads将str格式转化为dict格式。 dump和load与文件操作结合起来, pickle.dump(obj, f...

Lethe's Blog 3220

PAT (Advanced Level) Practice 1004 Counting Leaves—Python(dfs深度搜索)

本题主要考察做题人对树这种数据结构的dfs(深度搜索)的应用,总体来说不算一道特别难的算法题。

qq_65232540的博客 126

AutosarMCAL开发——基于EB MCU驱动

本文为博主个人学习总结记录,如有不正,欢迎指正。

qq_45583706的博客 921

PAT 甲级 1004 Counting Leaves (DFS)(c++版)(附代码注释)

1004 Counting Leaves (30 分) 原文链接:http://kakazai.cn/index.php/Kaka/Pat/query/id/94 文章目录题目题意分析知识点与坑点一、DFS算法思路代码-c++版代码-python版 题目 题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/99480552...

kakazai.cn 377

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

PAT (Advanced Level) 1004 Counting Leaves(Python)

这里写目录标题一级目录二级目录三级目录 一级目录 二级目录 三级目录

波波のblog 253

android 蓝牙通讯demo

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

PAT-Apat甲级题1004(python和c++实现)

PAT-Apat甲级题1004(python和c++实现)家族等级通常由家谱树表示。你的工作是统计那些没有孩子的家庭成员。 输入规范: 每个输入文件包含一个测试用例。每种情况都以包含0

qq3342560494的博客 1116

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

PAT 1004 Counting Leaves

没说明说的吧。如果想用bfs的话。在pop的时候更新深度比较好。 #include &lt;cstdio&gt; #include &lt;queue&gt; #include &lt;algorithm&gt; #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;vector&gt; using namespace st...

悟已往之不谏,知来者之可追 306

PAT1004. Counting Leaves (30)-统计一棵树每层叶子节点个数

PAT-A1004. Counting Leaves (30)-统计每层叶子节点个数 第一行输入N,M,表示结点总数和非叶节点数,下面的M行输入 ID K ID[1] ID[2] ... ID[K] ID是两位序号,K是孩子数,ID[1]~ID[k]是孩子序号。根节点序号为01 对每个测试用例,你要输出每层的叶节点 Sample Input: 2 1 01 1 02 Sample Output: 0 1 样例中,输入一棵树含两个节点,01是根节点,02是01的孩子结点,所以输出0 1.

qq_41098987的博客 284

ZJU PAT 1004 Counting Leaves

http://pat.zju.edu.cn/contests/pat-practise/1004 打印多叉树每一级中叶节点的个数,其实就是检查从根节点到每个叶节点的长度,合并相同长度的个数。深度优先遍历一把就好了。唯一要注意的是只有一个根节点的情况,为了递归方便加了一个指向根节点的虚拟节点'00' 1 def CountPath(list, lenth): 2 for ite...

weixin_30359021的博客 102

PAT 1004. Counting Leaves (30)(Java一个测试点未通过 and C++)

1004. Counting Leaves (30) Java代码:diwu

睡得香吃得好胆子大的专栏 1399

PAT(Advanced Level) Practice(with python)——1004 Counting Leaves

【代码】PAT(Advanced Level) Practice(with python)——1004 Counting Leaves。

weixin_51521247的博客 108

浙大PAT (Advanced Level) Practise 1004. Counting Leaves (30)

#include #include #include #include using namespace std; /*采用深度搜索方法,获取每一层的叶子节点, 用map存储数据,省去了建立树的麻烦,此方法更为简便*/ void dfs(map > &tree, map &res, int id, int level) { if(tree.count(id) == 0){//如果没有子节

Struggler的专栏 623

PAT甲级解题报告汇总

PAT甲级解题报告汇总(更新中……)最近在刷PAT甲级题目,AC的题目都发了博文做记录。下面对博文进行一下汇总整理,方便查阅。下面所有题目的解题报告都是本人自己所作,每篇博文都有题目大意的解读,解题思路和完全正确的解题代码。

NJU_Flipped的博客 2128

PAT 1004 Counting Leaves (30) Python

题目代码A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. InputEach input file contains one test case. Each case starts with a line co

日复一日,年复一年 804

1004. Counting Leaves (30)

题目地址:http://www.patest.cn/contests/pat-a-practise/1004/* 1004. Counting Leaves (30) http://www.patest.cn/contests/pat-a-practise/1004树,求出最大层数 和每一层的叶子节点数目, 利用队列和map */ #include <cstdio> #include <iost

master-dragon的专栏 756

【python】PAT甲级1004 Counting Leaves (30/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 sta...

weixin_44575329的博客 390
上一篇: 线性回归
下一篇: HBase学习笔记----通过JAVA 最新API操作HBase
warm-
博客等级 码龄12年 18粉丝 46原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值