PAT甲级 1094 The Largest Generatio

2020-11-05  本文已影响0人  Skittle丶

直接上程序吧,其实没有什么好说的,也不需要新建一个struct

#include<iostream>
#include<vector>
using namespace std;
vector<int> tree[10010];
int n,m,maxlevel[10];
void DFS(int root,int l){
    maxlevel[l]++;
    for(int i=0;i<tree[root].size();i++){
        DFS(tree[root][i],l+1);
    }
}
int main(){
    for(int i=0;i<10;i++){
        maxlevel[i]=0;
    }
    scanf("%d%d",&n,&m);
    for(int i=0;i<m;i++){
        int cmem,cnum;
        scanf("%d %d",&cmem,&cnum);
        for(int j=0;j<cnum;j++){
            int cchil;
            scanf("%d",&cchil);
            tree[cmem].push_back(cchil);
        }
    }
    //printf("%d",tree[8][1]);
    int lnum=-1,gen=0,clnum=-1,cgen=0;
    DFS(1,0);
    for(cgen=0;cgen<10;cgen++){
        if(maxlevel[cgen]>lnum){
            lnum=maxlevel[cgen];
            gen=cgen;
        }
    }
    printf("%d %d",lnum,gen+1);
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读