2026年6月GESP真题及题解(C++一级):去旅行

2026年6月GESP真题及题解(C++一级):去旅行

题目描述

快暑假了,小杨同学正在计划出去旅行,前往目的地的方案多种多样,小杨同学想知道如何前往目的地最便宜。

小杨同学住在 A A A 市,旅行目的地是 B B B 市,小杨同学前往目的地有三种方案:

  1. 从 A A A 市直飞 B B B 市;
  2. 从 A A A 市坐高铁到 C C C 市,然后坐飞机到 B B B 市;
  3. 从 A A A 市坐高铁到 C C C 市,然后坐高铁到 B B B 市。

请帮小杨同学求出最便宜的出行方案的价格。

输入格式

输入包含 4 4 4 行,每行一个正整数:

  • 第 1 1 1 行的正整数表示「从 A A A 市直飞 B B B 市」的价格;
  • 第 2 2 2 行的正整数表示「从 A A A 市坐高铁到 C C C 市」的价格;
  • 第 3 3 3 行的正整数表示「从 C C C 市坐飞机到 B B B 市」的价格;
  • 第 4 4 4 行的正整数表示「从 C C C 市坐高铁到 B B B 市」的价格。
输出格式

输出一个正整数,表示 3 3 3 种方式中,最便宜的出行方案的价格。

输入输出样例 1
输入 1
复制代码
999
105
699
588
输出 1
复制代码
693
输入输出样例 2
输入 2
复制代码
9
3
8
7
输出 2
复制代码
9
说明/提示
样例解释 1

方案 1 1 1. 直飞价格为 999 999 999;

方案 2 2 2. 高铁转飞机价格为 105 + 699 = 804 105 + 699 = 804 105+699=804;

方案 3 3 3. 高铁的价格为 105 + 588 = 693 105 + 588 = 693 105+588=693;

因此最便宜的价格是 693 693 693。

样例解释 2

方案 1 1 1. 直飞价格为 9 9 9;

方案 2 2 2. 高铁转飞机价格为 3 + 8 = 11 3 + 8 = 11 3+8=11;

方案 3 3 3. 高铁的价格为 3 + 7 = 10 3 + 7 = 10 3+7=10;

因此最便宜的价格是 9 9 9。

数据范围

所有输入均为正整数,且不超过 10000 10000 10000。

思路分析

题目给出了四种价格:

  • a:A 市直飞 B 市的价格(方案一)
  • b:A 市坐高铁到 C 市的价格
  • c:C 市坐飞机到 B 市的价格(方案二后半段)
  • d:C 市坐高铁到 B 市的价格(方案三后半段)

三种方案的总价分别为:

  1. a
  2. b + c
  3. b + d

我们只需读入这四个数,计算这三个值,输出其中的最小值即可。


代码实现

cpp 复制代码
#include <bits/stdc++.h> 
using namespace std;

int main() {
    int a, b, c, d;               
    cin >> a >> b >> c >> d;     
    int ans = a;  // 初始为方案一
    if (b + c < ans) ans = b + c;  // 比较方案二
    if (b + d < ans) ans = b + d;  // 比较方案三
    cout << ans; // 输出最便宜价格
    return 0;
}

功能分析

  • 输入:从标准输入读取 4 个正整数,依次为直飞价格、A→C 高铁、C→B 飞机、C→B 高铁。
  • 处理:计算三种方案的总费用,并通过两次比较找出最小值。
  • 输出:将最小值输出。

各种学习资料,助力大家一站式学习和提升!!!

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	cout<<"##########  一站式掌握信奥赛知识!  ##########";
	cout<<"#############  冲刺信奥赛拿奖!  #############";
	cout<<"######  课程购买后永久学习,不受限制!   ######";
	return 0;
}

【秘籍汇总】(完整csp信奥赛C++学习资料):

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

https://edu.csdn.net/course/detail/41081 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:

https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:

https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:

https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转

4、csp信奥赛冲刺一等奖有效刷题题解:

信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:

https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

信奥赛C++普及组csp-j初赛&复赛真题题解(持续更新): https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):

https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转

5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转

GESP(C++ 七级+八级)真题题解(持续更新):

https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转

· 文末祝福 ·

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	cout<<"跟着王老师一起学习信奥赛C++";
	cout<<"    成就更好的自己!       ";
	cout<<"  csp信奥赛一等奖属于你!   ";
	return 0;
}