共计 654 个字符,预计需要花费 2 分钟才能阅读完成。
水题,没有什么好说的
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<vector>
#include<queue>
using namespace std;
using std::vector;
using std::queue;
const int maxn=110;
vector<int> mem[maxn];
void bfs(int x,int& level,int& num){
queue<int>q;
q.push(x);
int l=0;
while(q.size()!=0){
l++;
int len=q.size();
for(int i=0;i<len;i++){
int a=q.front();
q.pop();
for(int j=0;j<mem[a].size();j++){
q.push(mem[a][j]);
}
}
if(len>num){
num=len;
level=l;
}
}
}
int main(){
int n,m;
int a,b;
int k;
scanf(“%d%d”,&n,&m);
for(int i=0;i<m;i++){
scanf(“%d”,&a);
scanf(“%d”,&k);
for(int i=0;i<k;i++){
scanf(“%d”,&b);
mem[a].push_back(b);
}
}
//01 根节点;
int num=0;
int level=0;
bfs(1,level,num);
printf(“%d %d”,num,level);
system(“pause”);
}