hdu 2377
来源:互联网 发布:诺基亚lumia800软件 编辑:程序博客网 时间:2024/06/02 04:52
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2377
思路:对每个点spfa求一次最短路,每次求的时候都要用一个MAX_dist[]来保存当前点到各点的最短路径的最大值,然后这个数组中的min值就是star value了。。。
View Code
1 #include<iostream> 2 #include<queue> 3 #include<vector> 4 const int MAXN=10000+10; 5 const int inf=1<<30; 6 using namespace std; 7 struct Node{ 8 int v,w; 9 };10 vector<Node>mp[MAXN];11 int dist[MAXN];12 bool visited[MAXN];13 int MAX_dist[MAXN];14 int n,m;15 16 void SPFA(int u){17 for(int i=1;i<MAXN;i++)dist[i]=inf;18 dist[u]=1;19 if(MAX_dist[u]==-1)MAX_dist[u]=1;20 memset(visited,false,sizeof(visited));21 queue<int>Q;22 Q.push(u);23 while(!Q.empty()){24 int u=Q.front();25 Q.pop();26 visited[u]=false;27 for(int i=0;i<mp[u].size();i++){28 int v=mp[u][i].v;29 int w=mp[u][i].w;30 if(dist[u]+w<dist[v]){31 dist[v]=dist[u]+w;32 if(dist[v]>MAX_dist[v])MAX_dist[v]=dist[v];33 if(!visited[v]){34 Q.push(v);35 visited[v]=true;36 }37 }38 }39 }40 }41 42 43 int main(){44 int _case;45 scanf("%d",&_case);46 while(_case--){47 scanf("%d%d",&n,&m);48 for(int i=1;i<MAXN;i++)mp[i].clear();49 memset(MAX_dist,-1,sizeof(MAX_dist));50 for(int i=1;i<=n;i++){51 int u,v,k;52 scanf("%d%d",&u,&k);53 for(int j=1;j<=k;j++){54 scanf("%d",&v);55 Node p1,p2;56 p1.v=u,p2.v=v;57 p1.w=p2.w=1;58 mp[u].push_back(p2);59 mp[v].push_back(p1);60 }61 }62 while(m--){63 int u,k;64 scanf("%d",&k);65 for(int i=1;i<=k;i++){66 scanf("%d",&u);67 SPFA(u);68 }69 }70 int MIN=inf,id=1;71 for(int i=1;i<MAXN;i++){72 if(MAX_dist[i]!=-1&&MAX_dist[i]<MIN){73 MIN=MAX_dist[i];74 id=i;75 }76 }77 printf("%d %d\n",MIN,id);78 }79 return 0;80 }
0 0
- hdu 2377
- hdu--2377
- hdu 2377Bus Pass
- HDU 2377 最短路
- HDU 2377 Bus Pass
- hdu 2377 zoj 2913
- HDU-2377 Bus Pass
- HDU 2377 && ZOJ 2412
- HDU 2377 Bus Pass
- HDU-2377-Bus Pass
- HDU 2377 Bus Pass
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- hdu 1317+hdu 1535(SPFA)
- hdu 1839(二分+最短路)
- hdu 2145(最短路+排序)
- 第14周-项目一-动物这样叫
- hdu 2363(最短路+枚举)
- hdu 2377
- hdu 2962(最短路+二分)
- hdu 3191+hdu 1688(最短路+次短路)
- hdu 3986(最短路+枚举)
- linux性能分析 sar 命令详解
- hdu 1116(并查集+欧拉路判断)
- IOS 画图总结
- hdu 1181(并查集+拓扑排序)
- 应用程序与内核模块的比较