题解 | #数值游戏#

数值游戏

https://ac.nowcoder.com/acm/problem/13559

本题没啥好说的,比较简单。 思路就是校B猜的数字将范围分割为两部分,右边的多就猜b + 1,否则猜b - 1。 但是此题有个坑: 题目中说到1<=b<=n<=10^9,即存在b = n = 1的情况,此时只能猜1. 如果这种情况未考虑,只能ac40%!

#include<iostream>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    
    int n = 0, b = 0;
    while(cin >> n >> b)
    {
        if (n == 1) cout << 1 << '\n';
        else if (n >= b * 2) cout << b + 1 << '\n';
        else cout << b - 1 << '\n';
    }
}
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务