过山车

过山车

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

  • 题目描述
    牛牛想要挑战一下自己的勇气,于是打算去玩牛村的刺激过山车,牛村的刺激过山车一排只坐一个人,牛牛胆子比较小,所以他要求必须坐在前面有人或者后面有人的空位置。
    牛牛上车前只知道这批过山车总共有n个位置,已经有k个人坐上去了,请帮助牛牛计算一下最少有多少个位置符合他的要求,最多有多少个位置符合他的要求。
    注:第一个位置的前面和最后一个位置的后面我们认为是没有人。
  • 输入描述:
    一行两个整数n,k。 n≥k≥0

  • 输出描述:
    输出两个整数表示最少和最多的符合他要求的位置

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

  • 示例2
    输入:6 2
    输出:1 4

  • 解题思路:
    这道题其实比较容易想到,但是会漏掉两个特殊条件,一个是 n == k,另一个是 k == 0。我就是没考虑到没有人上车的情况,这样小牛也不敢上车,因此当 k == 0 时,没有位置。可以使用 C# 中的 Math 类的静态方法 Min(),统一上述两种特殊情况。

  • 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 k = int.Parse(tokens[1]);
              int rem = n-k;
              int max = Math.Min(2*k, rem);
              int min = Math.Min(max, 1);
              Console.WriteLine(min + " " + max);
          }
      }
    }
全部评论

相关推荐

沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
4 收藏 评论
分享
牛客网
牛客企业服务