PAT程序设计考题——甲级1094(The largest generation) C++实现
来源:互联网 发布:excel单元格重复数据 编辑:程序博客网 时间:2024/06/14 07:53
#include<iostream>
#include<math.h>
#include<algorithm>
#include<queue>
#include<map>
#include<set>
#include<stack>
#include<string>
#include<vector>
using namespace std;
#define INF 100000000
#define maxn 100010
struct node{
vector<int> child;
int level;
};
node tree[maxn];
int n,nleaf;
int gnum[maxn]={0};
int level=0;
void BFS(int root)//注意怎么记录层次
{
queue<int> q;
q.push(root);
tree[root].level=1;
if(tree[root].child.empty()) {
gnum[1]=1;
return; }
while(!q.empty())
{
int temp;
temp=q.front();
q.pop();
gnum[tree[temp].level]++ ;
for(int i=0;i<tree[temp].child.size();i++)
{
q.push(tree[temp].child[i]);
tree[tree[temp].child[i]].level=tree[temp].level+1;
}
}
}
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
cin>>n>>nleaf;
for(int i=1;i<=nleaf;i++)
{
int id,num;
cin>>id>>num;
for(int j=0;j<num;j++)
{
int temp;
cin>>temp;
tree[id].child.push_back(temp);
}
}
#include<math.h>
#include<algorithm>
#include<queue>
#include<map>
#include<set>
#include<stack>
#include<string>
#include<vector>
using namespace std;
#define INF 100000000
#define maxn 100010
struct node{
vector<int> child;
int level;
};
node tree[maxn];
int n,nleaf;
int gnum[maxn]={0};
int level=0;
void BFS(int root)//注意怎么记录层次
{
queue<int> q;
q.push(root);
tree[root].level=1;
if(tree[root].child.empty()) {
gnum[1]=1;
return; }
while(!q.empty())
{
int temp;
temp=q.front();
q.pop();
gnum[tree[temp].level]++ ;
for(int i=0;i<tree[temp].child.size();i++)
{
q.push(tree[temp].child[i]);
tree[tree[temp].child[i]].level=tree[temp].level+1;
}
}
}
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
cin>>n>>nleaf;
for(int i=1;i<=nleaf;i++)
{
int id,num;
cin>>id>>num;
for(int j=0;j<num;j++)
{
int temp;
cin>>temp;
tree[id].child.push_back(temp);
}
}
BFS(1);
//cout<<gnum[1]<<endl;
int max=-INF;
int record=-1;
for(int i=1;i<n+1;i++)
if(gnum[i]>max)
{
record=i;
max=gnum[i];
}
cout<<max<<" "<<record;
}
//cout<<gnum[1]<<endl;
int max=-INF;
int record=-1;
for(int i=1;i<n+1;i++)
if(gnum[i]>max)
{
record=i;
max=gnum[i];
}
cout<<max<<" "<<record;
}
阅读全文
0 0
- PAT程序设计考题——甲级1094(The largest generation) C++实现
- PAT程序设计考题——甲级1012( The best rank ) C++实现
- PAT程序设计考题——甲级1086( The best rank ) C++实现
- PAT程序设计考题——甲级1065( A+B and C (64bit) ) C++实现
- 1094. The Largest Generation (25) PAT甲级
- PAT甲级 The Largest Generation (25)
- PAT 甲级 1094. The Largest Generation (25)
- PAT程序设计考题——甲级1007 (最大连续子序列和) C++实现
- PAT程序设计考题——甲级1045 (最长不下降子序列) C++实现
- PAT程序设计考题——甲级1045 (最长公共子序列) C++实现
- PAT程序设计考题——甲级1040 (最长回文串) C++实现
- PAT程序设计考题——甲级1068 (背包问题) C++实现
- PAT程序设计考题——甲级1042(洗牌机) C++实现
- PAT程序设计考题——甲级1046(循环最短距离) C++实现
- PAT程序设计考题——甲级1001( A+B Format ) C++实现
- PAT程序设计考题——甲级1002(A+B for Polynomials ) C++实现
- PAT程序设计考题——甲级1005( Spell It Right ) C++实现
- PAT程序设计考题——甲级1057( stock 分块查询) C++实现
- TCP/IP 详解卷一学习笔记(三): UDP 用户数据报协议
- 扩增子文献笔记2拟南芥根微生物组的结构和组成
- mysql sql优化和索引摘录
- 【每日一题-8】出栈入栈合法性与二进制中1的个数
- Android studio多渠道打包
- PAT程序设计考题——甲级1094(The largest generation) C++实现
- HDU4545(最长公共子序列)
- 网络基础 — 路由器的原理和作用
- Python标准库cPickle包如何使用?
- 正向代理与反向代理
- 我的第一天
- Android studio签名配置
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。
- 史上最详尽tablayout使用