1 条题解

  • 0
    @ 2025-8-24 21:18:06

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Maxmilite
    **

    搬运于2025-08-24 21:18:05,当前版本为作者最后更新于2025-03-19 16:37:09,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    [语言月赛 202503] 水流 题解

    Source & Knowledge

    本题来源于 2025 年 3 月的语言月赛,主要考察简单分支结构的运用。

    文字题解

    题目假设一个池塘被一个闸门分为两半。左侧一半水面高度为 aa 米,右侧水面高度为 bb 米。假设闸门降到 cc 米高,询问水流的流向。

    我们不妨首先考虑在哪些情况下水流的流向会是从左向右从右向左不流动

    • 如果水流从左向右流动,那么一定会满足以下条件:

      1. 左侧水面高于右侧水面 a>ba > b
      2. 左侧水面高于闸门 a>ca > c,这是水能够流动的必须要求。

      满足上面两条条件后,水流一定会从左向右流动。如果任何一条条件不满足,水则一定不会流动。

    • 水流从右向左流动同理,一定会满足以下条件:

      1. 右侧水面高于左侧水面 b>ab > a
      2. 右侧水面高于闸门 b>cb > c

    除上述两种情况外,其他任何情况下水都不会流动。

    因此我们可以编写如下代码:

    // 变量定义、读入部分省略
    
    if (a > b && a > c) {
        cout << "LeftToRight" << endl;
    } else if (b > a && b > c) {
        cout << "RightToLeft" << endl;
    } else {
        cout << "None" << endl;
    }
    
    • 1

    信息

    ID
    11690
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者