@PaulGuan
2016-10-02T18:15:48.000000Z
字数 428
阅读 690
Algorithm
总共n个人的队列,Petr前面站有至少a个人,Petr后面最多b个人,求Petr有多少种位置的站法 (0<=a,b<n<=100)。
Petr前面至少有a个人,那么Petr最能靠前的位置可能是a+1(为鲁棒性考虑可以判断下a+1和n的大小关系,不过本题的数据范围似乎并不存在这种问题),如果Petr站在a+1的位置上,后面站的人超过了b,那么Petr的位置最前面就只有从n-b开始算,最后的位置一定是n。
#include <iostream>
#include <algorithm>
using namespace std;
int main(void)
{
int n,a,b;
cin>>n>>a>>b;
int r=0,l=0;
r=a+1;
l=n;
if(r>l)
{
cout<<"0"<<endl;
return 0;
}
if(r<l-b)
r=l-b;
cout<<l-r+1<<endl;
return 0;
}