题解 | #排队领水#
排队领水
https://ac.nowcoder.com/acm/problem/22240
n个羊村村民正在排队,懒羊羊不知道他在队伍具体的哪个位置。这也意味着他的站位一定在n个位置中的一个。剩余的题目条件中,不多于b个人在他后面意味着他最多有b+1个位置可以选。不少于a个人在他前面意味着n个位置中至少有a个位置是不能选的。
我们将b+1和a分别看成两块连续的位置,将这两块位置分别置于n的两端,当n>=a+b+1时,两块区域没有相交,此时b+1个位置都可以选,而当n<a+b+1时,两块区域相交,b+1区域中重叠的部分就不能选了,只能选剩下的,即b+1-(a+b+1-n)。
#include <stdio.h>
int main()
{
int n,a,b;
scanf("%d %d %d",&n,&a,&b);
if(n>=a+b+1) printf("%d",b+1);
else printf("%d",b+1-(a+b+1-n));
return 0;
}