排队领水

排队领水

https://ac.nowcoder.com/acm/problem/22240

  • 题目描述
    羊村的供水系统搞砸了,隔壁牛村捐赠的的矿泉水刚刚送达,村长让喜羊羊们排队领水,已知有n个羊村村民正在排队取水,懒羊羊不知道他在队伍的具体哪个位置,但他知道有不少于a个人在他前面,有不多于b个人在他后面,你能帮忙计算一下懒羊羊有多少个可能的位置吗?

  • 输入描述:
    输入一行包含三个整数n,a,b (0<= a,b < n <= 100)

  • 输出描述:
    输出一行包含一个整数表示可能的位置数

  • 示例1
    输入:3 1 1
    输出:2

  • 示例2
    输入:10 1 3
    输出:4

  • 解题思路:
    一个限制条件:懒洋洋前面至少有 a 个人。另一个可移动条件:懒洋洋后面最多有 b 个人。该可移动条件也是一个限制条件,即懒洋洋所在的位置的身后不能超过 b 个人。
    如果不考虑第一个限制条件,根据可移动条件可以得到可能的位置为 b+1。(懒洋洋从自身的位置到最后一个位置均可移动)
    加上限制条件后,需要结合总人数 n 进行判断,若 n-a <= b,则表明,懒洋洋后面最多只有 n-a-1 个人,加上自身位置,则可能的位置为 n-a。因此,先对 n-a 和 b 进行比较,若前者较小,则结果为 n-a,若后者较小,则结果为 b+1。可以进一步合并为:min(n-a, b+1)。

  • C# 代码:

    using System;
    class Program{
      static void Main(){
          string input;
          string[] tokens;
          while((input = Console.ReadLine()) != null){
              tokens = input.Split();
              int n = int.Parse(tokens[0]);
              int a = int.Parse(tokens[1]);
              int b = int.Parse(tokens[2]);
              Console.WriteLine(Math.Min(n-a, b+1));
          }
      }
    }
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务