水題,沒有什麼好說的ios
#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"); }