HUST 1585 排队
Posted Angel_Kitty
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }
以上是关于HUST 1585 排队的主要内容,如果未能解决你的问题,请参考以下文章