hdu4460-最短路&思维- Friend Chains
来源:互联网 发布:web数据挖掘第二版pdf 编辑:程序博客网 时间:2024/05/18 02:53
http://acm.hdu.edu.cn/showproblem.php?pid=4460
郁闷死,,开始用floyd写的,1e9左右。。
肯定超时,然后感觉暴力最短路这样 1e7了估计也够呛。
试一下是能写的。。暴力最短路。。
用了两种写法, 都是可以的。并且很像。
#include <bits/stdc++.h>using namespace std;const int maxn=20005;int m,n;const int inf=0x3f3f3f3f;map<string,int>mp;string s,s2;int d[maxn];int len;int head[maxn];struct Node{ int to,from,next;}node[maxn];void add(int a,int b,int c){ node[len].to=b; node[len].next=head[a]; head[a]=len++;}void init(){ len=0; memset(head,-1,sizeof(head));}bool vis[maxn];/*void spfa(int s){ queue<int>q; memset(vis,false,sizeof(vis)); memset(d,0x3f,sizeof(d)); q.push(s); d[s]=0; vis[s]=true; while(!q.empty()){ int u=q.front(); q.pop(); vis[u]=false; for(int i=head[u];i!=-1;i=node[i].next){ int to=node[i].to; if(d[to]>d[u]+1){ d[to]=d[u]+1; if(!vis[to]){ vis[to]=true; q.push(to); } } } }}*/struct qnode{ int to,dis; qnode(int _a,int _b){to=_a,dis=_b;} bool operator<(const qnode&r)const{ return dis>r.dis; }};void dijkstra(int s){ priority_queue<qnode>q; memset(d,0x3f,sizeof(d)); memset(vis,false,sizeof(vis)); q.push(qnode(s,0)); d[s]=0; vis[s]=true; while(!q.empty()){ qnode u=q.top(); q.pop(); vis[u.to]=false; for(int i=head[u.to];i!=-1;i=node[i].next){ int to=node[i].to; if(d[to]>d[u.to]+1){ d[to]=d[u.to]+1; if(!vis[to]){ vis[to]=true; q.push(qnode(to,d[to])); } } } }}int main(){ ios::sync_with_stdio(false); while(cin>>m){ mp.clear(); if(!m) break; init(); for(int i=1;i<=m;i++){ cin>>s; mp[s]=i; } cin>>n; for(int i=0;i<n;i++){ cin>>s>>s2; add(mp[s],mp[s2],1); add(mp[s2],mp[s],1); } bool flag=false; int ans=-1; for(int i=1;i<=m&&!flag;i++){ dijkstra(i); for(int j=1;j<=m&&!flag;j++){ if(i==j)continue; ans=max(ans,d[j]); if(d[j]==inf){ flag=true; } } } if(flag) puts("-1"); else printf("%d\n",ans); } return 0;}
阅读全文
0 0
- hdu4460-最短路&思维- Friend Chains
- hdu4460 Friend Chains
- HDU4460 Friend Chains
- Hdu 4460 Friend Chains 最短路spfa
- HDU 4460 Friend Chains BFS 最短路
- HDU 4460 Friend Chains(最短路)
- HDU4460(最短路)
- hdu 4460 Friend Chains # 最短路的最大值
- UVALive 6378 Friend Chains (多源最短路 spfa)
- 顶点对间最短路: SPFA —— 2012.11.04 ACM 杭州 现场赛 H题:Friend Chains!
- HDU 4460 Friend Chains -多源最短路裸题
- hdu 4460 Friend Chains(最短路径,spfa)
- hdu2433 最短路+思维
- hdu 4460 Friend Chains
- hdu 4460 Friend Chains
- HDU 4460 Friend Chains
- HDU 4460 Friend Chains
- Friend Chains(spfa)
- 关于jedis异常:Could not get a resource from the pool
- Thinkphp5 出现错误 require mongodb > 1.0
- DrawerLayout侧滑栏
- OPENGL学习笔记之三
- 关于V4L2编程中获取视频流的误区
- hdu4460-最短路&思维- Friend Chains
- 案例|FEC筷云经典案例“西洋街”,澳门最大跨境电商平台
- Object Detection--RCNN,SPPNet,Fast RCNN,FasterRCNN论文详解
- [JAVA] Hibernate 继承映射
- python虚拟环境的安装与配置
- spring 技术内幕读后感2---设计理念与整体架构
- NodeMcu关于UART的理解
- 前端知识体系及修炼攻略(转)
- 2017校招真题在线编程