1094 The Largest Generation

Posted kkmjy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1094 The Largest Generation相关的知识,希望对你有一定的参考价值。

题意:略。

思路:层序遍历;在结点中增加一个数据域表示结点所在的层次。

代码:

#include <cstdio>
#include <queue>
#include <vector>
using namespace std;
struct Node{
    int layer;
    vector<int> child;
};
vector<Node> tree(110);
int level[110]={0};
int maxLevel=1,maxNum=0;

void levelOrderTraversal(int root)
{
    queue<Node> q;
    tree[root].layer=1;
    q.push(tree[root]);
    while(!q.empty()){
        Node node=q.front();
        q.pop();
        level[node.layer]++;
        if(level[node.layer] > maxNum){
            maxNum=level[node.layer];
            maxLevel=node.layer;
        }
        for(auto it:node.child){
            tree[it].layer=node.layer+1;
            q.push(tree[it]);
        }
    }
}

int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    int id,k,kid;
    for(int i=0;i<m;i++){
        scanf("%d%d",&id,&k);
        for(int j=0;j<k;j++){
            scanf("%d",&kid);
            tree[id].child.push_back(kid);
        }
    }
    levelOrderTraversal(1);
    printf("%d %d
",maxNum,maxLevel);
    return 0;
}

 

以上是关于1094 The Largest Generation的主要内容,如果未能解决你的问题,请参考以下文章

PAT 1094 The Largest Generation[bfs][一般]

PAT 1094. The Largest Generation (层级遍历)

1094 The Largest Generation

1094. The Largest Generation (25)二叉树——PAT (Advanced Level) Practise

PAT 1094. The Largest Generation(BFS)

1094. The Largest Generation (25)二叉树——PAT (Advanced Level) Practise