题意

给定一些国家,和两个国家间的花费,现在有一些询问,询问每次最多转k次飞机,最小花费

分析

最短路的裸题,跑spfa或者dijsktra什么的都行

多开一维来记录转k次飞机时的最短路是什么(拆点?)

 #include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <map>
#include <queue> using namespace std;
const int maxn=+;
const int maxm=+;
const int INF=;
int T,m,n,sz,q;
map<string,int>name;
string num[maxn];
string s;
int d[maxn][maxn];
int vis[maxn][maxn];
int head[maxn],to[maxm],val[maxm],ecnt,Next[maxm];
struct Node{
int u,cnt;
};
void spfa(int s){
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++)
for(int j=;j<=n+;j++)
d[i][j]=INF;
d[s][]=;
vis[s][]=;
queue<Node>q;
q.push((Node){s,});
while(!q.empty()){
Node x=q.front();q.pop();
int u=x.u,cnt=x.cnt;
vis[u][cnt]=;
for(int i=head[u];i;i=Next[i]){
int v=to[i];
if(d[v][cnt+]>d[u][cnt]+val[i]){
d[v][cnt+]=d[u][cnt]+val[i];
if(!vis[v][cnt+]){
vis[v][cnt+]=;
q.push((Node){v,cnt+});
}
}
}
}
}
void add_edge(int a,int b,int w){
ecnt++;
to[ecnt]=b;
val[ecnt]=w;
Next[ecnt]=head[a];
head[a]=ecnt;
}
int main(){
//freopen("out.txt","w",stdout);
scanf("%d",&T);
for(int t=;t<=T;t++){
if(t!=)printf("\n");
memset(head,,sizeof(head));
printf("Scenario #%d\n",t);
sz=;
ecnt=;
scanf("%d",&n);
for(int i=;i<=n;i++){
cin>>s;
sz++;
name[s]=sz;
num[sz]=s;
}
scanf("%d",&m);
for(int i=;i<=m;i++){
string a,b;
int w;
cin>>a>>b>>w;
add_edge(name[a],name[b],w);
}
spfa(); scanf("%d",&q);
int a;
for(int i=;i<=q;i++){
scanf("%d",&a);
int ans=INF;
for(int j=;j<=min(a,n);j++){
ans=min(ans,d[n][j+]);
}
if(ans>=INF){
printf("No satisfactory flights\n");
}else
printf("Total cost of flight(s) is $%d\n",ans);
}
}
return ;
}

UVA-11280 Flying to Fredericton的更多相关文章

  1. UVA 11280 - Flying to Fredericton SPFA变形

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&c ...

  2. UVa 11280 Flying to Fredericton (DP + Dijkstra)

    题意:给出n(2<=n<=100)个城市之间的m(0<=m<=1000)条航线以及对应的机票价格,要求回答一些询问,每个询问是给出最大停留次数S,求从其实城市Calgary到终 ...

  3. UVA-11280 Flying to Fredericton (dijkstra)

    题目大意:一张有向图,n个节点,m条边,有边权.求从起点到终点在最多经过s个中间节点(不包括始末点)时的最小权和. 题目分析:因为起点和终点是固定的,只需一次dijkstra打出表dis[u][k], ...

  4. 【Uva 11280 飞到弗雷德里顿】

    ·你可以尽情地坐飞机,但停留次数遭到限制. ·英文题,述大意:       给出一张有向图,起点是输入的第一个城市,终点是输入的最后一个城市.给出q个询问,每个询问含一个t,表示 #include&l ...

  5. 1.1.1最短路(Floyd、Dijstra、BellmanFord)

    转载自hr_whisper大佬的博客 [ 一.Dijkstra 比较详细的迪杰斯特拉算法讲解传送门 Dijkstra单源最短路算法,即计算从起点出发到每个点的最短路.所以Dijkstra常常作为其他算 ...

  6. 最短路算法详解(Dijkstra/SPFA/Floyd)

    新的整理版本版的地址见我新博客 http://www.hrwhisper.me/?p=1952 一.Dijkstra Dijkstra单源最短路算法,即计算从起点出发到每个点的最短路.所以Dijkst ...

  7. UVA 590 二十一 Always on the run

     Always on the run Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit ...

  8. UVA - 10057 A mid-summer night&#39;s dream.

    偶数时,中位数之间的数都是能够的(包含中位数) 奇数时,一定是中位数 推导请找初中老师 #include<iostream> #include<cstdio> #include ...

  9. uva 1354 Mobile Computing ——yhx

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5

随机推荐

  1. OSPF 配置

    封装在IP层:协议号 89 hello时间是dead时间的1/4 224.0.0.5 .在点到点网络, 比如T1线路,是连接单独的一对路由器的网络, 点到点网络上的有效邻居总是可以形成邻接关系的,在这 ...

  2. xml(带有命名空间的)读写操作

    xml文件: <?xml version="1.0" encoding="UTF-8"?><!-- This file contains jo ...

  3. I.MX6 View长宽大于屏的分辨率

    /******************************************************************************** * I.MX6 View长宽大于屏的 ...

  4. python学习之准备

    快速入门:十分钟学会Pythonhttp://python.jobbole.com/43922/python框架http://www.elias.cn/Python/HomePage#toc14[Py ...

  5. 手把手使用 Webpack 4 建立 VUE 项目

    手把手使用 Webpack 4 建立 VUE 项目 安装 node.js 略 安装 cnpm 略 安装 webpack cnpm install webpack -g 安装 vue-cli cnpm ...

  6. Ambari的API调用

    GET api/v1/clusters/HDP/configurations可以获得所有的配置信息(例如,http://hdp0:8080/api/v1/clusters/HDP/configurat ...

  7. (转)用Eclipse 统计代码行数小技巧

    今天公司SQA问我目前项目代码行数有多少,我当时就是想,以前好像写过类似的统计工具但是一时又找不到 公司网络又不能下载,所以想想eclipse是不是又类似功能,找了下没有,但突然一想有一个转弯方法:统 ...

  8. (转)Android之Adapter用法总结

    1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(ListView,GridView)等地方都需要用到Adapter.如下图直 ...

  9. MySQL中的交并差

    Mysql只提供了并集(union),没有提供差集,和交集,但是我们可以用union来实现交和差,下面即是实现方式: 首先创建两个表: ERROR 1064 (42000): mysql> cr ...

  10. Delphi从Internet下载文件

    Delphi从Internet下载文件   今天在做拍卖系统的时候,因考虑到网络状况问题,需要将拍品所有信息下载到本机,包括拍品图片,因此需要实现从Internet下载文件的功能.      下面是代 ...