链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
牛牛想要挑战一下自己的勇气,于是打算去玩牛村的刺激过山车,牛村的刺激过山车一排只坐一个人,牛牛胆子比较小,所以他要求必须坐在前面一排有人或者后面一排有人的空位置。
牛牛上车前只知道这批过山车总共有n排位置,已经有k个人坐上去了,请帮助牛牛计算一下最少有多少排位置符合他的要求,最多有多少个位置符合他的要求。
注:第一排位置的前面和最后一排位置的后面我们认为是没有人。
输入描述:
一行两个整数n,k。n≥k≥0
输出描述:
输出两个整数表示最少和最多的符合他要求的位置
示例1
输入
6 3
输出
1 3
示例2
输入
6 2
输出
1 4
代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 读取总位置数 n
int k = sc.nextInt(); // 读取已占位置数 k
// 特殊情况处理
if (n == k || k == 0) {
System.out.println(0 + " " + 0); // 所有位置都被占或没有人占时,输出 0 0
} else {
// 计算最多符合条件的位置数
int max = Math.min(k * 2, n - k); // 取 k*2 和 n-k 中的较小值
// 计算最少符合条件的位置数
int min = 1;// 确保最小值为非负数
System.out.println(min + " " + max); // 输出最少和最多的符合条件的位置数
}
}
}