[语言月赛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+y≥z, x + z ≥ y x+z\ge y x+z≥y, y + z ≥ x y+z\ge x y+z≥x;
- 对于 100 % 100\% 100% 的数据,满足 1 ≤ x , y , z ≤ 1 0 9 1 \leq x,y,z\le 10^9 1≤x,y,z≤109。
代码内容
//#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;
}