博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ZOJ 2526 FatMouse and JavaBean II
阅读量:4963 次
发布时间:2019-06-12

本文共 1475 字,大约阅读时间需要 4 分钟。

题意:给定起点和终点,每个点都有价值,给出m条双向边和边的权值,可能会有重边。

求解:从起点到终点的路径数,走过的点能拿到的最大价值,以及输出那条能拿到最大价值的边。

本题主要是需要进行两次最短路,第一次为了算出从起点到任意点的最短距离。第二次最短路根据第一次最短路算出来的最短距离,可以算出从起点到任意点的能拿到的最大价值,还有路径总数。在松弛这些点的时候可以将路径保存下来。递归输出即可。

View Code
#include 
#include
#include
#include
#include
#include
#include
using namespace std;#define inf 10000000#define eps 1e-8#define G 9.8const int Max = 509;int dis[Max], pre[Max], mat[Max][Max], giv[Max], vul[Max], sp[Max];bool vis[Max];int n;void dij2(int u) { memset(vis,0,sizeof(vis)); giv[u] = vul[u]; pre[u] = -1; int ans ,p ; while(1) { ans = inf; p = -1; for( int i=0;i
dis[i] && !vis[i]) { ans = dis[i]; p = i; } } if(p == -1) break; vis[p] = 1; for( int i=0;i
dis[i] && !vis[i]) { ans = dis[i]; p = i; } } if(p == -1) break; vis[p] = 1; for( int i=0;i
dis[p] + mat[p][i]) { dis[i] = dis[p] + mat[p][i] ; } } }}int main() { int m ,s ,e ; while (scanf("%d%d%d%d",&n ,&m ,&s, &e) == 4) { memset(sp,0,sizeof(sp)); memset(giv,0,sizeof(giv)); for (int i = 0;i < n; i++) { for (int j = 0;j < n; j++) { mat[i][j] = inf; } } for (int i = 0;i < n; i++) scanf("%d",&vul[i]); for (int i = 0;i < m; i++) { int a,b,c; scanf("%d%d%d",&a,&b,&c); if(c < mat[a][b]) mat[a][b] = mat[b][a] = c; } for(int i=0;i
0;i--) { printf("%d ",ans[i]); } printf("%d\n",ans[0]); } return 0;}

 

转载于:https://www.cnblogs.com/gray035/archive/2013/03/18/2966780.html

你可能感兴趣的文章
【noip2004】虫食算——剪枝DFS
查看>>
java语法之final
查看>>
python 多进程和多线程的区别
查看>>
sigar
查看>>
iOS7自定义statusbar和navigationbar的若干问题
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
Setting up a Passive FTP Server in Windows Azure VM(ReplyCode: 227, Entering Passive Mode )
查看>>
Python模块调用
查看>>
委托的调用
查看>>
c#中从string数组转换到int数组
查看>>
数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
toad for oracle中文显示乱码
查看>>
SQL中Group By的使用
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
Pylint在项目中的使用
查看>>