POJ 3268 Silver Cow Party
来源:互联网 发布:田岛美工刀片批发 编辑:程序博客网 时间:2024/04/30 13:00
题意:有n个点,m条有方向的边,中心在x。问从其他点到x,然后再从x到其他点的最小距离的最大值是多少?
正向建跑一次最短路,反向建图再跑一次最短路。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N=1005;bool vis[N];int map[N][N],dis1[N],dis2[N];int main(){ int n,m,x; scanf("%d%d%d",&n,&m,&x); for(int i=0;i<m;i++) { int a,b,c; scanf("%d%d%d",&a,&b,&c); map[a][b]=c; } for(int i=1;i<=n;i++) { if(map[x][i]) dis1[i]=map[x][i]; else dis1[i]=1<<30; if(map[i][x]) dis2[i]=map[i][x]; else dis2[i]=1<<30; } vis[x]=1; for(int i=1;i<n;i++) { int imin=1<<30,pos=0; for(int j=1;j<=n;j++) { if(dis1[j]<imin&&!vis[j]) { imin=dis1[j];pos=j; } } vis[pos]=1; for(int j=1;j<=n;j++) { if(!map[pos][j]) continue; if(dis1[j]>dis1[pos]+map[pos][j]&&!vis[j]) { dis1[j]=dis1[pos]+map[pos][j]; } } } memset(vis,0,sizeof(vis)); vis[x]=1; for(int i=1;i<n;i++) { int imin=1<<30,pos=0; for(int j=1;j<=n;j++) { if(dis2[j]<imin&&!vis[j]) { imin=dis2[j];pos=j; } } vis[pos]=1; for(int j=1;j<=n;j++) { if(!map[j][pos]) continue; if(dis2[j]>dis2[pos]+map[j][pos]&&!vis[j]) { dis2[j]=dis2[pos]+map[j][pos]; } } } int ans=0; for(int i=1;i<=n;i++) { if(i==x) continue; ans=max(ans,dis1[i]+dis2[i]); } printf("%d\n",ans); return 0;}
- poj 3268 Silver Cow Party
- POJ 3268 Silver Cow Party
- poj 3268 Silver Cow Party
- POJ 3268 Silver Cow Party
- POJ 3268 Silver Cow Party
- POJ-3268-Silver Cow Party
- poj 3268 Silver Cow Party
- poj 3268 Silver Cow Party
- POJ-3268-Silver Cow Party
- poj 3268--Silver Cow Party
- POJ 3268 Silver Cow Party
- POJ 3268 Silver Cow Party
- POJ 3268 Silver Cow Party
- POJ 3268 Silver Cow Party
- POJ-3268 Silver Cow Party
- poj 3268 Silver Cow Party
- poj 3268 Silver Cow Party
- poj 3268 Silver Cow Party
- 在 Windows 7 中通过 USB 连接线安装备用驱动程序
- BeanUtils.copyProperties()方法
- c语言中的输入与输出
- 从java project到dynamic web project
- 【线段树+离散化】Mayor's Posters
- POJ 3268 Silver Cow Party
- Windows与Linux下InputStream读取字节与字符的不同
- Java调用.NET webservice方法的几种方式
- WebService跨平台
- Struts1和Struts2的区别和对比
- C陷阱与缺陷 读书笔记
- Ubuntu11.10下激活ROOT帐号
- java调用webservice接口方法
- EXCEPT和INTERSECT运算符