pat1094. The Largest Generation (25)
1094. The Largest Generation (25)
A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level belong to the same generation. Your task is to find the generation with the largest population.
Input Specification:
Each input file contains one test case. Each case starts with two positive integers N (<100) which is the total number of family members in the tree (and hence assume that all the members are numbered from 01 to N), and M (<N) which is the number of family members who have children. Then M lines follow, each contains the information of a family member in the following format:
ID K ID[1] ID[2] ... ID[K]
where ID is a two-digit number representing a family member, K (>0) is the number of his/her children, followed by a sequence of two-digit ID's of his/her children. For the sake of simplicity, let us fix the root ID to be 01. All the numbers in a line are separated by a space.
Output Specification:
For each test case, print in one line the largest population number and the level of the corresponding generation. It is assumed that such a generation is unique, and the root level is defined to be 1.
Sample Input:
23 13
21 1 23
01 4 03 02 04 05
03 3 06 07 08
06 2 12 13
13 1 21
08 2 15 16
02 2 09 10
11 2 19 20
17 1 22
05 1 11
07 1 14
09 1 17
10 1 18
Sample Output:
9 4
姥姥教的方法,顺便用一下。
last:更新前,本层最后一个元素
tail:下一层当前最后一个元素
floor:指向当前的层数
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<queue>
#include<vector>
#include<cmath>
using namespace std;
vector<int> v[];
int main(){
int n,m;
scanf("%d %d",&n,&m);
int i,num,count,in;
for(i=;i<m;i++){
scanf("%d %d",&num,&count);
while(count--){
scanf("%d",&in);
v[num].push_back(in);
}
}
queue<int> q;
q.push();
int last=,tail,floor=,cur,maxcount=,maxfloor=,curcount=;
while(!q.empty()){
cur=q.front();
q.pop();
for(i=;i<v[cur].size();i++){
q.push(v[cur][i]);
tail=v[cur][i];
curcount++;
}
if(last==cur){
last=tail;
floor++;//point to next floor
if(curcount>maxcount){
maxcount=curcount;
maxfloor=floor;
}
curcount=;
}
}
printf("%d %d\n",maxcount,maxfloor);
return ;
}
pat1094. The Largest Generation (25)的更多相关文章
- PAT1094:The Largest Generation
		
1094. The Largest Generation (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
 - PTA甲级1094 The Largest Generation (25分)
		
PTA甲级1094 The Largest Generation (25分) A family hierarchy is usually presented by a pedigree tree wh ...
 - PAT (Advanced Level) Practise - 1094. The Largest Generation (25)
		
http://www.patest.cn/contests/pat-a-practise/1094 A family hierarchy is usually presented by a pedig ...
 - 1094. The Largest Generation (25)
		
A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level bel ...
 - PAT Advanced 1094 The Largest Generation (25) [BFS,DFS,树的遍历]
		
题目 A family hierarchy is usually presented by a pedigree tree where all the nodes on the same level ...
 - PAT (Advanced Level) 1094. The Largest Generation (25)
		
简单DFS. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...
 - 1094. The Largest Generation (25)-(dfs,树的遍历,统计每层的节点数)
		
题目很简单,就是统计一下每层的节点数,输出节点数最多的个数和对应的层数即可. #include <iostream> #include <cstdio> #include &l ...
 - The Largest Generation (25)(BFS)(PAT甲级)
		
#include<bits/stdc++.h>using namespace std;int n,m,l,t;int a[1307][137][67];int vis[1307][137] ...
 - 【PAT甲级】1094 The Largest Generation (25 分)(DFS)
		
题意: 输入两个正整数N和M(N<100,M<N),表示结点数量和有孩子结点的结点数量,输出拥有结点最多的层的结点数量和层号(根节点为01,层数为1,层号向下递增). AAAAAccept ...
 
随机推荐
- 【C#】 创建、部署和调用WebService的简单示例
			
C# 创建.部署和调用WebService的简单示例 <div class="postBody"> <div id="cnblogs_post_body ...
 - 多用户ATM机(面向对象编程)
			
let readline = require('readline-sync'); // 清屏函数 let clear = () => process.stdout.write(process.p ...
 - DotNetty 版  mqtt 开源客户端  (MqttFx)
			
一.DotNetty背景介绍 某天发现 dotnet 是个好东西,就找了个项目来练练手.于是有了本文的 Mqtt 客户端 (github: MqttFx ) DotNetty是微软的Azure ...
 - code manager tools  myeclipse10 svn插件安装及使用
			
一.下载: 1.在线安装地址:http://subclipse.tigris.org/update_1.6.x 2.安装包下载地址:http://subclipse.tigris.org/servle ...
 - 关于php缓存技术一些见解
			
参考的网站[很重要] ①.模拟高并发: https://blog.csdn.net/yxwb1253587469/article/details/50572927 https://blog.csdn. ...
 - P4199 万径人踪灭 FFT + manacher
			
\(\color{#0066ff}{ 题目描述 }\) \(\color{#0066ff}{输入格式}\) 一行,一个只包含a,b两种字符的字符串 \(\color{#0066ff}{输出格式}\) ...
 - NOIP2018初赛总结(提高组)(试题+答案+简要解析)
			
NOIP2018初赛总结(提高组) 更新完毕(纯手敲),如果有错误请在下面留言 单选题 T1.下列四个不同进制的数中,与其它三项数值上不相等的是 A.\((269)_{16}\) B.\((617)_ ...
 - CF708A Letters Cyclic Shift 模拟
			
You are given a non-empty string s consisting of lowercase English letters. You have to pick exactly ...
 - SQL 模糊查询 可以正则匹配 (转)
			
1. % 表示任意0个或多个字符.如下语句:Select * FROM user Where name LIKE '%三%'; 将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来. ...
 - kuangbin专题十六 KMP&&扩展KMP HDU3746 Cyclic Nacklace
			
CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, ...