求两次最短路

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <vector>
#include <sstream>
#include <string>
#include <cstring>
#include <algorithm>
#include <iostream>
#define maxn 105
#define INF 0x7fffffff
#define inf 10000000
#define MOD 1000000007
#define ull unsigned long long
#define ll long long
using namespace std; int A, B, M, L, K, g[maxn][maxn];
int d[maxn][12];
bool inq[maxn][12]; struct node
{
int now, s;
node(int i, int j)
{
now = i, s = j;
}
}; void init()
{
for(int i = 0; i < maxn; ++ i)
for(int j = 0; j < maxn; ++ j) g[i][j] = inf;
} void floyd()
{
for(int k = 1; k <= A; ++ k)
for(int i = 1; i <= A+B; ++ i)
for(int j = 1; j <= A+B; ++ j)
if(g[i][k] != inf && g[k][j] != inf)
g[i][j] = min(g[i][j], g[i][k]+g[k][j]);
} int spfa()
{
for(int i = 0; i <= A+B; ++ i)
for(int j = 0; j <= K; ++ j)
d[i][j] = inf;
memset(inq, 0, sizeof(inq));
queue<node> q;
d[A+B][0] = 0;
q.push(node(A+B, 0));
while(!q.empty())
{
node t = q.front();
q.pop();
int u = t.now, k = t.s;
inq[u][k] = false;
for(int i = 1; i <= A+B; ++ i)
{
if(i == u) continue;
if(k < K && g[u][i] <= L)
{
if(d[i][k+1] > d[u][k])
{
d[i][k+1] = d[u][k];
if(!inq[i][k+1])
{
inq[i][k+1] = true;
q.push(node(i, k+1));
}
}
}
if(d[i][k] > d[u][k]+g[u][i])
{
d[i][k] = d[u][k]+g[u][i];
if(!inq[i][k])
{
inq[i][k] = true;
q.push(node(i,k));
}
}
}
}
int ans = inf;
for(int i = 0; i <= K; ++ i) ans = min(ans, d[1][i]);
return ans;
} int main()
{
int t;
scanf("%d", &t);
while(t --)
{
scanf("%d%d%d%d%d", &A, &B, &M, &L, &K);
init();
for(int i = 0; i < M; ++ i)
{
int x, y, c;
scanf("%d%d%d", &x, &y, &c);
g[x][y] = g[y][x] = c;
}
floyd();
printf("%d\n", spfa());
}
return 0;
}

uva 10269 最短路的更多相关文章

  1. UVA 10269 Super Mario,最短路+动态规划

    这个题目我昨晚看到的,没什么思路,因为马里奥有boot加速器,只要中间没有城堡,即可不耗时间和脚力,瞬间移动不超过L距离,遇见城堡就要停下来,当然不能该使用超过K次...我纠结了很久,最终觉得还是只能 ...

  2. uva 11374 最短路+记录路径 dijkstra最短路模板

    UVA - 11374 Airport Express Time Limit:1000MS   Memory Limit:Unknown   64bit IO Format:%lld & %l ...

  3. 【Uva 10269 马里奥与公主的归途】

    ·马里奥n次解救了公主,现在需要从魔王的宫殿返回. ·英文题,述大意:      给定一个点数不超过100的无向图,其中的点分为两类:乡村和城堡. 输入A个乡村,B个城堡(乡村编号1~A,城堡编号A+ ...

  4. uva 1048 最短路的建图 (巧,精品)

    大白书 P341这题说的是给了NT种飞机票,给了价钱和整个途径,给了nI条要旅游的路线.使用飞机票都必须从头第一站开始坐,可以再这个路径上的任何一点下飞机一但下飞机了就不能再上飞机,只能重新买票,对于 ...

  5. uva 10917 最短路+dp

    https://vjudge.net/problem/UVA-10917 给出N点M边的无向图,没重边.对于点A,B,当且仅当从B到终点的最短路小于任何一条从A到终点的最短路时,才考虑从A走到B,否则 ...

  6. UVA - 12295 最短路(迪杰斯特拉)——求按对称路线最短路条数

    题意: 给你一个n,然后给你一个n*n的正方形w[i][j],你需要找到一个从(1,1)点走到(n,n)点的最短路径数量.而且这个路径必须按照y=x对称 题解: 我们把左上角的点当作(0,0)点,右下 ...

  7. UVA 10269 Adventure of Super Mario

    看了这里 http://blog.csdn.net/acm_cxlove/article/details/8679230的分析之后自己又按照自己的模板写了一遍,算是对spfa又加深了一步认识(以前真是 ...

  8. UVA - 658 最短路

    思路:通过前后两种状态建立一条边,利用Dijsktra就可以做了. 注意利用二进制优化. AC代码 #include <cstdio> #include <cmath> #in ...

  9. UVa 10269 Adventure of Super Mario (Floyd + DP + BFS)

    题意:有A个村庄,B个城市,m条边,从起点到终点,找一条最短路径.但是,有一种工具可以使人不费力的移动L个长度,但始末点必须是城市或村庄.这种工具有k个,每个只能使用一次,并且在城市内部不可使用,但在 ...

随机推荐

  1. 标识域 Identify Field

    在对象中保存DB的ID字段,以维持内存对象和DB数据Row之间的identify. 关系DB使用key来区分数据行. 而内存对象不需要这样的键.因为对象系统能够保证身份确认. 读取时没有问题,但是为了 ...

  2. log tag

        Media Player MediaPlayerService     NuPlayerDecoder     NuPlayer      MediaFocusControl       Ac ...

  3. EasyUI_Datagrid学习总结

    EasyUI_Datagrid学习总结 2016年7月25日星期一 一.简介 Easyui中的datagrid从总的作用上讲,就是在列表上显示数据,类似于table,但是在table的基础上,此控件更 ...

  4. UCML平台中 如何设置列表单元格中的链接失效

    解决方案: 找到“a.datagrid-cell-bclink”,麻烦的是这个标记是由js动态加载的,需要等待这个加载完成:等加载完成后,删除a标记“$(“a.datagrid-cell-bclink ...

  5. 例题6-7 Trees on the level ,Uva122

    本题考查点有以下几个: 对数据输入的熟练掌握 二叉树的建立 二叉树的宽度优先遍历 首先,特别提一下第一点,整个题目有相当一部分耗时在了第一个考查点上(虽然有些不必要,因为本应该有更简单的方法).这道题 ...

  6. h5 web模板

    <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --><html lang="zh-cmn-Hans"> ...

  7. Reveal 配置与使用

    http://www.th7.cn/Program/IOS/201608/939231.shtml http://www.jianshu.com/p/abac941c2e8e 这个比较好.http:/ ...

  8. smarty安装及例子

    环境: smarty3.1.16 1.在http://www.smarty.net/download下载最新smarty包,window选择zips,linux下选择tar.gz.以windows为例 ...

  9. 使用VideoView播放、暂停、快进视频

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&qu ...

  10. SQL中char,varchar,nvarchar等的异同

    比较这几个数据类型,总是忘记,可能比较细节的原因.先做个记号,回头完善.