HUST 1585 排队

时间:2022-05-07
本文章向大家介绍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("%dn",ans);
15     }
16         return 0;
17 }