HUST 1585 排队

1585 - 排队

时间限制:1秒 内存限制:128兆

351 次提交 179 次通过
题目描述
BG站在一个有n个人的队伍中,但他并不知道他处于队伍中的哪个位置,他向前向后观察,只能断定他的前方有至少a个人,而后方至多b个人。请求出BG可能处于队伍中不同位置的个数。
输入
输入包括多组样例,每组样例包括一行,每行包括3个整数n, a和b(其中0 ≤ a, b < n ≤ 100)。
输出
对于每组样例输出一行,每行有一个整数,即可能处于不同位置的数量。
样例输入
3 1 1
5 2 3
样例输出
2
3
提示
例如第一组样例,全队共有3个人,BG的前方至少1个人,后方至多1个人,则可能处于第2和第3的位置,所以有2种可能,输出2。
题目链接:http://acm.hust.edu.cn/problem/show/1585
分析:宝宝心里苦,但是我不说!此题一段段分析即可,当时也是WA了5次才过,我不想说什么了,估计是没在状态,主要要注意分阶段考虑,a+b>n、a+b==n、a+b<n分段进行求解,以免出错!当时就搞混了,所以WA了5发,不算难题,认真分析就能做出来!
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int n,a,b,i,ans;
 6     while(scanf("%d%d%d",&n,&a,&b)!=EOF)
 7     {
 8         if(a+b==n)
 9             ans=n-a;
10             else if(a+b<n)
11                     ans=b+1;
12                     else if(a+b>n)
13                          ans=n-a;
14         printf("%d\n",ans);
15     }
16         return 0;
17 }

 

posted @ 2017-02-11 15:21  Angel_Kitty  阅读(240)  评论(0编辑  收藏  举报