1004. Counting Leaves (30)-PAT
来源:互联网 发布:mac照片导入手机 编辑:程序博客网 时间:2024/05/30 05:30
1004. Counting Leaves (30)
Input
Each input file contains one test case. Each case starts with a line containing 0 < N < 100, the number of nodes in a tree, and M (< N), the number of non-leaf nodes. Then M lines follow, each in the format:
ID K ID[1] ID[2] ... ID[K]where ID is a two-digit number representing a given non-leaf node, K is the number of its children, followed by a sequence of two-digit ID's of its children. For the sake of simplicity, let us fix the root ID to be 01.
Output
For each test case, you are supposed to count those family members who have no child for every seniority level starting from the root. The numbers must be printed in a line, separated by a space, and there must be no extra space at the end of each line.
The sample case represents a tree with only 2 nodes, where 01 is the root and 02 is its only child. Hence on the root 01 level, there is 0 leaf node; and on the next level, there is 1 leaf node. Then we should output "0 1" in a line.
Sample Input2 101 1 02Sample Output
0 1
采用广度优先遍历
#include<iostream>#include<queue>using namespace std;#define N 102int main(){int n,m,i,j,k;int t[N][N];int flag,count;cin>>n;cin>>m;for(i=0;i<m;i++){cin>>t[i][0];cin>>t[i][1];for(j=0;j<t[i][1];j++){cin>>t[i][2+j];}}queue<int> q;int tmp;if(0==n)return 0;q.push(1);q.push(-1);count=0;while(!q.empty()){tmp=q.front();q.pop();if(-1==tmp){cout<<count;if(q.empty())break;elsecout<<" ";q.push(-1);count=0;continue;}flag=0;for(j=0;j<m;j++){if(t[j][0]==tmp){flag=1;for(k=0;k<t[j][1];k++){q.push(t[j][2+k]);}}}if(flag==0){count++;}}return 0;}
- 1004. Counting Leaves (30)-PAT
- pat 1004. Counting Leaves (30)
- 【PAT】1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- pat 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT:1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- [PAT]1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- PAT:1004. Counting Leaves (30)
- PAT:1004. Counting Leaves (30)
- 【PAT】1004. Counting Leaves (30)
- pat 1004. Counting Leaves (30)
- PAT 1004. Counting Leaves (30)
- UVa 10719 - Quotient Polynomial
- dos下启动Tomcat
- 字符型指针变量与字符数组的区别
- ecshop上传服务器上要给写入权限的目录有哪些?
- 添加和删除显示任务栏图标示例
- 1004. Counting Leaves (30)-PAT
- directshow配置
- ORACLE 10G 10201 RAC ORA-15063
- AWK 运算符
- IP地址的分类——a,b,c 类是如何划分的
- Silverlight WCF RIA服务(十七)数据 7
- 【分享】一位技术人员成长历程
- PHP Cookies
- Linux中的yum是什么?如何配置?如何使用?