P2009 跑步

题目背景

跑步是一项有意思的运动,尤其是可以开发人的脑筋。常神牛很喜欢跑步。

题目描述

常神牛跑步的场地是一个多边形(边数≤20,每个顶点用英文大写字母表示),并且在这个多边形内部,还会有一些小道,连接两个不相邻的顶点。所有的边长和小道都是双向通行的举例来说,下面一个图:

假设常神牛从A点跑到D点,最短的路径是A-E-D(长度为6)。

现在告诉你多边形的边数n,多边形每条边的长度,多边形内的连线数k,每条连线的两个端点及长度,以及起始点和结束点,请你输出最短路径的长度。但是常神牛有点强迫症,如果两点之间有多条道路直接连接,他会选择最长的那条。

注意:输入数据不保证起点和终点不同,也不保证小道的起点和终点不同。在读入过程中,如果两点之间有多条小道,那么它们间的距离为这些小道的最大值。所以,如果读入一个小道起点和终点相同,那么这个点到它本身的距离不为0。

输入输出格式

输入格式:

输入文件为run.in。

第一行,2个数,n,k。

第二行,n个数,分别表示多边形每条边的长度(按顺时针次序依次给出,即分别为AB,BC,CD,DE……的长度)。

以下k行,每行两个字母和一个数,两个字母表示该连线的起止点,数字表示长度。

最后一行,两个字母,分别为他跑步的起点和终点。

所有的一行的字母、数字之间用一个空格隔开。

输出格式:

输出文件为run.out。

一行,一个数,表示最短路的长度。

输入输出样例

输入样例#1: 复制

5 2
6 4 5 4 2
A D 7
E B 8
A D
输出样例#1: 复制

6

说明

对于20%的数据,k=0;

对于50%的数据,k≤10;

对于100%的数据,1≤n≤20,0≤m≤50,k≤100,所有路径长度均不大于1000。

Floyd

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 101
#define maxn 999999
using namespace std;
char ch;
int n,k,a,b,x,s,f[N][N];
int read()
{
    ,f=; char ch=getchar();
    ;ch=getchar();}
    +ch-',ch=getchar();
    return x*f;
}

int main()
{
    n=read(),k=read();
    ;i<=n;i++)
     ;j<=n;j++)
      f[i][j]=maxn*(i!=j);
    ;i<=n;i++)
    {
        x=read();
        ]=f[i+][i]=x;
        ][i]=f[i][]=x;
    }
    ;i<=k;i++)
    {
        cin>>ch,a=ch-;
        cin>>ch,b=ch-;
        x=read();
        if(f[a][b]!=maxn)
          f[a][b]=f[b][a]=max(f[a][b],x);
        else f[a][b]=f[b][a]=x;
    }
    ;k<=n;k++)
     ;i<=n;i++)
      ;j<=n;j++)
       f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
    cin>>ch,a=ch-;
    cin>>ch,b=ch-;
    printf("%d",f[a][b]);
    ;
}

洛谷——P2009 跑步的更多相关文章

  1. 洛谷 P2009 跑步

    P2009 跑步 题目背景 跑步是一项有意思的运动,尤其是可以开发人的脑筋.常神牛很喜欢跑步. 题目描述 常神牛跑步的场地是一个多边形(边数≤20,每个顶点用英文大写字母表示),并且在这个多边形内部, ...

  2. [洛谷P1353] 跑步Running

    问题描述 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= N <= 10,000)分钟的晨跑.在每分钟的开始,贝茜会选择下一分钟是用来跑步 ...

  3. 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)

    必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...

  4. 洛谷 1600 (NOIp2016) 天天爱跑步——树上差分

    题目:https://www.luogu.org/problemnew/show/P1600 看TJ:https://blog.csdn.net/clove_unique/article/detail ...

  5. 【noip】跟着洛谷刷noip题2

    noip好难呀. 上一个感觉有点长了,重开一个. 36.Vigenère 密码 粘个Openjudge上的代码 #include<cstdio> #include<iostream& ...

  6. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  7. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  8. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  9. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

随机推荐

  1. LightOJ 1023 Discovering Permutations 水题

    http://www.lightoj.com/volume_showproblem.php?problem=1023 题意:26字母全排列 思路:用next_permutation或者思维想一下都可以 ...

  2. Value does not fall within the expected range 值不在预期的范围内

    用vs2012 打开web.config时,提示如下错误:“Value does not fall within the expected range”; 中文提示:“值不在预期的范围内” 解决方案: ...

  3. RabbitMQ与AMQP

    1. 消息队列的历史 了解一件事情的来龙去脉,将不会对它感到神秘.让我们来看看消息队列(Message Queue)这项技术的发展历史. Message Queue的需求由来已久,80年代最早在金融交 ...

  4. 【uva11987】带删除的并查集

    题意:初始有N个集合,分别为 1 ,2 ,3 .....n.有三种操件1 p q 合并元素p和q的集合2 p q 把p元素移到q集合中3 p 输出p元素集合的个数及全部元素的和. 题解: 并查集.只是 ...

  5. 洛谷P3764 签到题 III

    题目背景 pj组选手zzq近日学会了求最大公约数的辗转相除法. 题目描述 类比辗转相除法,zzq定义了一个奇怪的函数: typedef long long ll; ll f(ll a,ll b) { ...

  6. Problem B. Harvest of Apples(杭电2018年多校+组合数+逆元+莫队)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6333 题目: 题意:求C(n,0)+C(n,1)+……+C(n,m)的值. 思路:由于t和n数值范围太 ...

  7. parse_str

    之前没有遇到过parse_str,其意思就是“把查询字符串解析到变量中”也就是$str会被解析为变量. <?php $data = "a=1&b=2";parse_s ...

  8. css position的值

    值 描述 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 元素的位置通过 "left", "top", " ...

  9. vs 2015 插件 supercharger 破解方式

    亲测有效:效果如图 方法如下: 1.打开Supercharger的options; 2.点击Pricing & Registration 3.复制 license  然后再按Paste &am ...

  10. 在linux内核中获得比jiffies精度更高的时间值【转】

    转自:http://blog.chinaunix.net/uid-20672257-id-2831219.html 内核一般通过jiffies值来获取当前时间.尽管该数值表示的是自上次系统启动到当前的 ...