简单思维题:
- 不少于 a 个人在他前面,即他必然在最后 n - a个人中;
- 不多于 b 个人在他后面,即他必然在最后 b + 1个人中。
综上,懒羊羊可能的位置个数应为 min(n - a, b + 1)。
其实题目有 bug,羊村村民排队打水,不应该有人
#include <bits/stdc++.h>
using namespace std;
// 羊村的供水系统搞砸了,隔壁牛村捐赠的的矿泉水刚刚送达,村长让喜羊羊们排队领水,
// 已知有 n 个羊村村民正在排队取水,懒羊羊不知道他在队伍的具体哪个位置,
// 但他知道有不少于 a 个人在他前面,有不多于 b 个人在他后面,
// 你能帮忙计算一下懒羊羊有多少个可能的位置吗?
void solve()
{
    int n, a, b;
    cin >> n >> a >> b;
    cout << min(n - a, b + 1) << endl;
}
signed main()
{
    ios::sync_with_stdio(false);
    int t;
    // cin >> t;
    t = 1;
    while (t--)
        solve();
    return 0;
}

 京公网安备 11010502036488号
京公网安备 11010502036488号