#include<cstdio> #include<iostream> #include<cstring> #include<vector> #include<queue> #include<map> #include<stack> using namespace std; int main() { //freopen("c:\\temp\\in.txt","r",stdin); int employe; while(scanf("%d",&employe)==1) { vector<int>graph[2501]; for(int i=0;i<employe;i++) { int num; scanf("%d",&num); for(int j=1;j<=num;j++) { int c; cin>>c; if(i!=c) graph[i].push_back(c); } } int test_case; scanf("%d",&test_case); while(test_case--) { int source; scanf("%d",&source); queue<int>q; q.push(source); int visit[2501]; memset(visit,0,sizeof visit); int coun[2501]; memset(coun,0,sizeof visit); visit[source]=1; int boom_size=0,first_day; while(!q.empty()) { int pop=q.front();q.pop(); for(int i=0;i<graph[pop].size();i++) { int v=graph[pop][i]; if(visit[v]==0) { visit[v]=visit[pop]+1; q.push(v); coun[visit[v]]=coun[visit[v]]+1; if(boom_size<coun[visit[v]]) { boom_size=coun[visit[v]]; first_day=visit[v]; } } } } if(graph[source].size()<1) cout<<0; else cout<<boom_size<<" "<<first_day-1; cout<<endl; } } return 0; }
বৃহস্পতিবার, ২ জানুয়ারী, ২০১৪
Solution code of uva 924
Labels:
uva solution
এতে সদস্যতা:
মন্তব্যগুলি পোস্ট করুন (Atom)
0 comments:
একটি মন্তব্য পোস্ট করুন