洛谷三角洲

文章描述了一个关于计算在洛谷三角洲中三个城市A、B、C之间最短通行时间的问题,给定三对道路的拥堵时间,要求找出从A到B、B到C、A到C的最短时间。解题方法是通过简单的比较道路时间得出最短路径。
摘要由CSDN通过智能技术生成

[语言月赛202212] 洛谷三角洲

题目描述

在平行的洛谷世界,有 A,B,C 三座城市,它们构成了洛谷三角洲。

两两城市之间各有一条双向道路。也就是说,一共有三条道路,A 市与 B 市之间有一条道路,A 市与 C 市之间有一条道路,B 市与 C 市之间有一条道路。

由于每条道路的拥堵程度不同,因此通过一条路需要的时间也不同。对于每一条路,双向的拥挤程度相同(即经过 A 市与 B 市之间的一条道路,由 A 市到 B 市和由 B 市到 A 市所需的时间相同)。

通过 A 市与 B 市之间的道路需要 x x x 分钟,通过 B 市与 C 市之间的道路需要 y y y 分钟,通过 C 市与 A 市之间的道路需要 z z z 分钟。

由于业务需要,洛谷站长需要在三个市之间频繁往返。如果能够知道任意两个市之间通行的最短时间,那么他能够极大地提高工作效率。

所以他现在想知道:从 A 市到 B 市,从 B 市到 C 市,从 A 市到 C 市分别至少需要多少时间(单位:分钟)。但是他认为这个问题太难了,所以他把这个问题交给了聪明的你。

输入格式

输入共一行,共三个整数,分别表示 x , y , z x,y,z x,y,z

输出格式

输出共三行:
第一行为从 A 市到 B 市至少需要的时间。
第二行为从 B 市到 C 市至少需要的时间。
第三行为从 A 市到 C 市至少需要的时间。

样例 #1

样例输入 #1

1 2 5

样例输出 #1

1
2
3

样例 #2

样例输入 #2

3 3 3

样例输出 #2

3
3
3

提示说明

样例 1 解释

从 A 市到 B 市需要 1 1 1 分钟,从 B 市到 C 市需要 2 2 2 分钟。
从 A 市到 C 市可以先从 A 市到 B 市,再从 B 市到 C 市,这样只需要花费 1 + 2 = 3 1+2=3 1+2=3 分钟。

数据规模与约定

  • 对于 20 % 20\% 20% 的数据,满足 x = y = z x=y=z x=y=z
  • 对于另外 20 % 20\% 20% 的数据,满足 x + y ≥ z x+y\ge z x+yz x + z ≥ y x+z\ge y x+zy y + z ≥ x y+z\ge x y+zx
  • 对于 100 % 100\% 100% 的数据,满足 1 ≤ x , y , z ≤ 1 0 9 1 \leq x,y,z\le 10^9 1x,y,z109

代码内容

//#include <iostream>
//#include <algorithm>
//#include <string>
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()
{
    ll x,y,z;
    cin>>x>>y>>z;

    if(x<z+y)//A-->B
        cout<<x<<endl;
    else
        cout<<z+y<<endl;

    if(y<x+z)//B-->C
        cout<<y<<endl;
    else
        cout<<x+z<<endl;

    if(z<x+y)//A-->C
        cout<<z<<endl;
    else
        cout<<x+y<<endl;
    
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pretty Boy Fox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值