1 17 2 7400 6 7401 7402 7403 7404 7405 7406 7401 6 7412 7402 7400 7406 7410 7411 7402 5 7412 7403 7400 7401 7411 7403 6 7413 7414 7404 7400 7402 7412 7404 5 7403 7414 7415 7405 7400 7405 6 7404 7415 7407 7408 7406 7400 7406 7 7400 7405 7407 7408 7409 7410 7401 7407 4 7408 7406 7405 7415 7408 4 7409 7406 7405 7407 7409 3 7410 7406 7408 7410 4 7411 7401 7406 7409 7411 5 7416 7412 7402 7401 7410 7412 6 7416 7411 7401 7402 7403 7413 7413 3 7412 7403 7414 7414 3 7413 7403 7404 7415 3 7404 7405 7407 7416 2 7411 7412 5 7409 7408 7407 7405 7415 6 7415 7404 7414 7413 7412 7416
4 7400
#include<cstdio> #include<queue> #include<iostream> #include<algorithm> #include<cstring> #include<vector> #define INF 0x3f3f3f3f using namespace std; const int maxn=9999+10; int dis[maxn],id[maxn],max_dis[maxn]; bool vis[maxn]; vector<int>vec[maxn]; int t,n,bus,cal; bool cmp(int a,int b) { return a<b; } void spfa(int st) { queue<int>Q; while(!Q.empty()) Q.pop(); memset(vis,false,sizeof(vis)); memset(dis,INF,sizeof(dis)); Q.push(st); dis[st]=0; vis[st]=true; while(!Q.empty()) { int temp=Q.front(); Q.pop(); vis[temp]=false; for(int i=0;i<vec[temp].size();i++) { if(dis[temp]+1<dis[vec[temp][i]]) { dis[vec[temp][i]]=dis[temp]+1; if(!vis[vec[temp][i]]) { vis[vec[temp][i]]=true; Q.push(vec[temp][i]); } } } } } void read_graph() { memset(max_dis,0,sizeof(max_dis)); int u; scanf("%d%d",&n,&bus); for(int i=1;i<=maxn;i++) vec[i].clear(); for(int i=1;i<=n;i++) { scanf("%d%d",&id[i],&cal); for(int j=1;j<=cal;j++) { scanf("%d",&u); vec[id[i]].push_back(u); } } while(bus--) { scanf("%d",&cal); while(cal--) { int st; scanf("%d",&st); spfa(st); for(int i=1;i<=n;i++) { if(dis[id[i]]>max_dis[id[i]]) max_dis[id[i]]=dis[id[i]]; } } } int ans=999999999,ans_id; sort(id+1,id+1+n,cmp); for(int i=1;i<=n;i++) { if(max_dis[id[i]]<ans) { ans=max_dis[id[i]]; ans_id=id[i]; } } printf("%d %d\n",ans+1,ans_id); } int main() { scanf("%d",&t); while(t--) { read_graph(); } return 0; }
hdu2377Bus Pass(较为复杂的建图+spfa),布布扣,bubuko.com
原文:http://blog.csdn.net/u014303647/article/details/38408285