@PaulGuan
2016-10-02T10:15:48.000000Z
字数 428
阅读 829
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;}
