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) 来自:http://blog.csdn.net/sunbaigui/article/details/8657008
- **Counting bits and blocks of a word**:介绍如何统计单词中的位数和位块数量。 - **Counting bits of many words**:解释如何对多个单词进行位计数。 - **Words as bitsets**:将单词视为位集的应用示例。 ...
- **实现方法**:使用ARC(Automatic Reference Counting)自动管理对象的生命周期。 - **应用场景**:简化内存管理,减少潜在的内存泄漏问题。 - **1.17 使用自动引用计数进行类型转换** - **知识点**:ARC环境...
- **Automatic Reference Counting (ARC)**:内存管理自动化。 - **Block Objects**:块对象支持。 - **Data Protection**:数据保护措施。 - **File-‐Sharing Support**:文件共享支持。 - **Grand Central ...
- 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. ...
- **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 ...
- **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. - **...
**4.1 拼写检查、字数统计和文本分析 (Chapter 16: Spell Checking, Word Counting, and Textual Analysis)** - **拼写检查工具**: 如`aspell`, `hunspell`等。 - **字数统计**: 使用`wc`命令统计文本文件的字符数。...
6. **SEC: Security Violation Counting** - **含义**:表示安全违规次数的信息。 - **应用**:用于记录安全事件发生的次数。 - **变化**:在两个版本中定义相同。 7. **BCR: Binary Counter Reading** - **...
- **计数排序(Counting Sort)**: - **概念**:适用于数据范围较小的情况,通过统计每个数值出现的次数来进行排序。 - **基数排序(Radix Sort)**: - **概念**:对于整数排序,按照低位到高位的顺序进行排序。 - ...
- **自动引用计数(Automatic Reference Counting, ARC)**:自动管理内存。 10. **错误处理(Error Handling)** - **抛出异常**:使用`throw`关键字抛出异常。 - **捕获异常**:使用`try`、`catch`语句处理异常。 ...
- **1.8 Counting bits and blocks of a word**: 统计字中的位数和块数。 - **1.9 Counting bits of many words**: 大规模字数据的位数统计。 - **1.10 Words as bitsets**: 将字视为位集的应用方法。 - **1.11 ...
- **ARC如何工作**:Swift使用自动引用计数(Automatic Reference Counting, ARC)来管理内存。 - **ARC实践**:了解ARC的基本规则有助于避免内存泄漏等问题。 - **类实例间的强引用环**:当两个类实例相互持有对方的...
- **计数排序(CountingSort)** - 针对一定范围内的整数排序,其效率高于比较排序。 - 实例问题:给定一个非负整数数组,对其进行排序。 - **基数排序(RadixSort)** - 一种非比较型整数排序算法,其效率高于比较...