`
linest
  • 浏览: 155547 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

pat-1004* Counting Leaves

    博客分类:
  • pat
 
阅读更多
1004: 统计树的每一层上叶子节点的个数

Sample Input
2 1
01 1 02
Sample Output
0 1

用二维数组存了树,dfs搜索了一下。最左一列统计节点孩子数量,最上一行用于记录每层叶子数。

#include<iostream>
using namespace std;
#include<string.h>
#include<memory.h>

int tree[101][101];
int maxlevel=0;

void travel(int root,int level)
{
	if(level>maxlevel)
		maxlevel = level;
	if(tree[root][0]==0)
		tree[0][level]++;
	else
	{
		for(int i=1;i<101;i++)
		{
			if(tree[root][i]==1)
				travel(i,level+1);
		}
	}
}

int main()
{
	int total;
	int nonleave;
	int parent;
	int child;
	int childnum;

	memset(tree,0,sizeof(tree));
	cin>>total;
	cin>>nonleave;
	for(int i=0;i<nonleave;i++)
	{
		cin>>parent;
		cin>>childnum;
		for(int j=0;j<childnum;j++)
		{
			cin>>child;
			tree[parent][child]=1;
			tree[parent][0]++;
		}
	}
	travel(1,0);
	for(int i=0;i<=maxlevel;i++)
	{
		cout<<tree[0][i];
		if(i!=maxlevel)
			cout<<" ";
	}

}
分享到:
评论

相关推荐

    1004. Counting Leaves (30)

    1004. Counting Leaves (30) 来自:http://blog.csdn.net/sunbaigui/article/details/8657008

    Algorithms For Programmers

    - **Counting bits and blocks of a word**:介绍如何统计单词中的位数和位块数量。 - **Counting bits of many words**:解释如何对多个单词进行位计数。 - **Words as bitsets**:将单词视为位集的应用示例。 ...

    iOS 5 Programming Cookbook.pdf

    - **实现方法**:使用ARC(Automatic Reference Counting)自动管理对象的生命周期。 - **应用场景**:简化内存管理,减少潜在的内存泄漏问题。 - **1.17 使用自动引用计数进行类型转换** - **知识点**:ARC环境...

    5-iOSTechnicalOverview.pdf

    - **Automatic Reference Counting (ARC)**:内存管理自动化。 - **Block Objects**:块对象支持。 - **Data Protection**:数据保护措施。 - **File-‐Sharing Support**:文件共享支持。 - **Grand Central ...

    Lerner -- Python Workout. 50 Essential Exercises -- 2020.pdf

    - Counting occurrences of each letter using dictionaries. - Finding the maximum occurrence. 13. **Printing Tuple Records** - **Objective:** Print records from a list of tuples in a formatted way. ...

    Matters Computational-ideas, algorithms, source code

    - **Counting the Bits and Blocks of a Word**: Methods for counting the number of set bits and blocks in a word. - **Words as Bitsets**: Treating words as sets of bits for efficient data ...

    Matters Computational

    - **Counting the Bits and Blocks of a Word**: Methods for counting the number of set bits or specific patterns. - **Words as Bit Sets**: Representing and manipulating sets using binary words. - **...

    unix power tools 3ed.pdf

    **4.1 拼写检查、字数统计和文本分析 (Chapter 16: Spell Checking, Word Counting, and Textual Analysis)** - **拼写检查工具**: 如`aspell`, `hunspell`等。 - **字数统计**: 使用`wc`命令统计文本文件的字符数。...

    61850 第一版和第二版CDC对比列表

    6. **SEC: Security Violation Counting** - **含义**:表示安全违规次数的信息。 - **应用**:用于记录安全事件发生的次数。 - **变化**:在两个版本中定义相同。 7. **BCR: Binary Counter Reading** - **...

    算法导论答案 中文版

    - **计数排序(Counting Sort)**: - **概念**:适用于数据范围较小的情况,通过统计每个数值出现的次数来进行排序。 - **基数排序(Radix Sort)**: - **概念**:对于整数排序,按照低位到高位的顺序进行排序。 - ...

    The Swift Programming Language 中文版

    - **自动引用计数(Automatic Reference Counting, ARC)**:自动管理内存。 10. **错误处理(Error Handling)** - **抛出异常**:使用`throw`关键字抛出异常。 - **捕获异常**:使用`try`、`catch`语句处理异常。 ...

    Algorithm for programmer

    - **1.8 Counting bits and blocks of a word**: 统计字中的位数和块数。 - **1.9 Counting bits of many words**: 大规模字数据的位数统计。 - **1.10 Words as bitsets**: 将字视为位集的应用方法。 - **1.11 ...

    Swift中文版教程

    - **ARC如何工作**:Swift使用自动引用计数(Automatic Reference Counting, ARC)来管理内存。 - **ARC实践**:了解ARC的基本规则有助于避免内存泄漏等问题。 - **类实例间的强引用环**:当两个类实例相互持有对方的...

    数据结构与算法题解

    - **计数排序(CountingSort)** - 针对一定范围内的整数排序,其效率高于比较排序。 - 实例问题:给定一个非负整数数组,对其进行排序。 - **基数排序(RadixSort)** - 一种非比较型整数排序算法,其效率高于比较...

Global site tag (gtag.js) - Google Analytics