【USACO 2007 February Silver】农场派对
2015-08-28 18:26
375 查看
Description
N(1<=N<=1000)头牛要去参加一场在编号为x(1<=x<=N)的牛的农场举行的派对。有M(1<=M<=100000)条有向道路,每条路长Ti(1<=Ti<=100);每头牛都必须参加完派对后回到家,每头牛都会选择最短路径。求这N头牛的最短路径(一个来回)中最长的一条的长度。 特别提醒:可能有权值不同的重边。
Input
第1行:3个空格分开的整数N, M, X
第2..M+1行:3个空格分开的整数Ai, Bi, Ti,表示有一条从Ai到Bi的路,长度为Ti
Output
第1行:最长最短路的长度
Sample Input
4 8 2
1 2 4
1 3 2
1 4 7
2 1 1
2 3 5
3 1 2
3 4 4
4 2 3
Sample Output
10
这么赤裸裸的最短路居然改了好长时间
有一点需要注意
就是关于如何求任意点到源点s的最短路
将邻接矩阵转置再跑dijkstra就ok了
代码冗长表介意
N(1<=N<=1000)头牛要去参加一场在编号为x(1<=x<=N)的牛的农场举行的派对。有M(1<=M<=100000)条有向道路,每条路长Ti(1<=Ti<=100);每头牛都必须参加完派对后回到家,每头牛都会选择最短路径。求这N头牛的最短路径(一个来回)中最长的一条的长度。 特别提醒:可能有权值不同的重边。
Input
第1行:3个空格分开的整数N, M, X
第2..M+1行:3个空格分开的整数Ai, Bi, Ti,表示有一条从Ai到Bi的路,长度为Ti
Output
第1行:最长最短路的长度
Sample Input
4 8 2
1 2 4
1 3 2
1 4 7
2 1 1
2 3 5
3 1 2
3 4 4
4 2 3
Sample Output
10
这么赤裸裸的最短路居然改了好长时间
有一点需要注意
就是关于如何求任意点到源点s的最短路
将邻接矩阵转置再跑dijkstra就ok了
代码冗长表介意
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<cmath> #include<algorithm> #define INF 100000000; using namespace std; int g[1001][1001],dis1[1001],dis2[1001],n,m,x,maxn=-1; void dijkstra(int dis[]) { int i,j,v,min; int visit[1005]; memset(visit,0,sizeof(visit)); for(i=1;i<=n;i++) dis[i]=g[x][i]; dis[x]=0; visit[x]=1; for(i=1;i<=n;i++) { min=INF; for(j=1;j<=n;j++) { if(!visit[j]&&dis[j]<min) { min=dis[j]; v=j; } } visit[v]=1; for(j=1;j<=n;j++) if(!visit[j]&&dis[v]+g[v][j]<dis[j]) dis[j]=dis[v]+g[v][j]; } } void tran() { int i,j,temp; for(i=1;i<=n;i++) for(j=1;j<=i;j++) { temp=g[i][j]; g[i][j]=g[j][i]; g[j][i]=temp; } } int main() { int i,j,a,b,t; cin>>n>>m>>x; memset(g,127/3,sizeof(g)); for(i=1;i<=m;i++) { cin>>a>>b>>t; if(g[a][b]>t) g[a][b]=t; } dijkstra(dis1); tran(); dijkstra(dis2); for(i=1;i<=n;i++) if(i!=x && dis1[i]+dis2[i]>maxn) maxn=dis1[i]+dis2[i]; cout<<maxn; return 0; }
相关文章推荐
- <c:foreach>解决遍历一个list创建多行多列列表的问题
- jQuery 1.5发布 Ajax模块重写
- JSON格式
- 学习zepto.js(对象方法)[5]
- CSS3区域模块region相关编写示例
- JavaScript中为什么string可以拥有方法?
- js中实现数组去重的5种方法
- 用jQuery File Upload做的上传控件demo,支持同页面多个上传按钮
- JavaScript实现类的private、protected、public、static以及继承
- WCF 生产json对外的接口
- js判断undefined类型
- jquery事件
- [leetcode] 19.Remove Nth Node From End of List
- 自己动手写控件(模仿mvc htmlhelper的类)
- WPF后台设置xaml控件的样式System.Windows.Style
- jQuery获取多种input值的方法
- jquery mmgrid使用
- jquery 获取元素高度
- 29、Jquery Ajax
- js字符串的各种格式的转换 ToString,Format