






















GESP C++一级,2026年6月真题,基础运算和条件判断,难度⭐,洛谷难度入门。
快暑假了,小杨同学正在计划出去旅行,前往目的地的方案多种多样,小杨同学想知道如何前往目的地最便宜。
小杨同学住在 $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$;
方案 $2$. 高铁转飞机价格为 $105 + 699 = 804$;
方案 $3$. 高铁的价格为 $105 + 588 = 693$;
因此最便宜的价格是 $693$。
方案 $1$. 直飞价格为 $9$;
方案 $2$. 高铁转飞机价格为 $3 + 8 = 11$;
方案 $3$. 高铁的价格为 $3 + 7 = 10$;
因此最便宜的价格是 $9$。
所有输入均为正整数,且不超过 $10000$。
本题的解题思路如下:
min 函数或 if 语句实现1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
int main() {
// 声明变量存储四个价格
int a, b, c, d;
// 从标准输入读取四个价格
// a: A市直飞B市, b: A市高铁到C市, c: C市飞机到B市, d: C市高铁到B市
std::cin >> a >> b >> c >> d;
// 计算三种方案的价格
int plan1 = a; // 方案1:直飞
int plan2 = b + c; // 方案2:高铁转飞机
int plan3 = b + d; // 方案3:全程高铁
// 求三种方案中的最小值
int minCost = plan1;
if (plan2 < minCost) {
minCost = plan2;
}
if (plan3 < minCost) {
minCost = plan3;
}
// 输出最便宜的价格
std::cout << minCost;
return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
GESP 学习专题站:GESP WIKI
"luogu-"系列题目可在洛谷题库进行在线评测。
"bcqm-"系列题目可在编程启蒙题库进行在线评测。
欢迎加入:Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答
欢迎加入:C++ GESP/CSP认证学习QQ频道,考试资源总结汇总
欢迎加入:C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。