A18557. 去旅行
填空题
容易
知识点
题目描述
去旅行
题目描述
快暑假了,小杨同学正在计划出去旅行,前往目的地的方案多种多样,小杨同学想知道如何前往目的地最便宜。
小杨同学住在 A 市,旅行目的地是 B 市,小杨同学前往目的地有三种方案:
- 从 A 市直飞 B 市;
- 从 A 市坐高铁到 C 市,然后坐飞机到 B 市;
- 从 A 市坐高铁到 C 市,然后坐高铁到 B 市。
请帮小杨同学求出最便宜的出行方案的价格。
输入格式
输入包含 4 行,每行一个正整数:
- 第 1 行的正整数表示「从 A 市直飞 B 市」的价格;
- 第 2 行的正整数表示「从 A 市坐高铁到 C 市」的价格;
- 第 3 行的正整数表示「从 C 市坐飞机到 B 市」的价格;
- 第 4 行的正整数表示「从 C 市坐高铁到 B 市」的价格。
输出格式
输出一个正整数,表示 3 种方式中,最便宜的出行方案的价格。
样例
输入样例 1
999
105
699
588输出样例 1
693样例解释 1
方案 1. 直飞价格为 999;
方案 2. 高铁转飞机价格为 105+699=804
方案 3. 高铁转高铁价格为 105+588=693
因此最便宜的价格是 693。
输入样例 2
123
4
9
3
87输出样例 2
9样例解释 2
方案 1. 直飞价格为 123;
方案 2. 高铁转飞机价格为 3+8=11
方案 3. 高铁转高铁价格为 3+7=10
因此最便宜的价格是 9。
数据范围
所有输入均为正整数,且不超过 10000。
参考答案
# 读取第1个数据:从A市直飞B市的价格
a = int(input())
# 读取第2个数据:从A市坐高铁到C市的价格
b = int(input())
# 读取第3个数据:从C市坐飞机到B市的价格
c = int(input())
# 读取第4个数据:从C市坐高铁到B市的价格
d = int(input())
# 计算方案1的总价格:A市 直飞 B市
price1 = a
# 计算方案2的总价格:A市高铁到C市,再飞机到B市
price2 = b + c
# 计算方案3的总价格:A市高铁到C市,再高铁到B市
price3 = b + d
# 先假设方案1是最便宜的(打擂台思想)
min_price = price1
# 如果方案2比当前最便宜的价格还低,就更新最小值
if price2 < min_price:
min_price = price2
# 如果方案3比当前最便宜的价格还低,就更新最小值
if price3 < min_price:
min_price = price3
# 输出三种方案中最便宜的出行价格
print(min_price)
上一题
下一题