jlh的童年(四刷) kkmd66

jlh小时很喜欢玩弹珠,但是他的玩法有些特别。他在一条直线上放一些纸当陷阱,弹珠每次必须跳过一个陷阱(不能多也不能少),并且不掉到陷阱内,如果弹珠顺利跳过所有陷阱,就算成功了,否则就算失败。我们假设弹珠每次跳相同的距离,现在让你写一个程序帮jlh判断,到底有没有可能成功。

#include <iostream>
#include "vector"

using namespace std;

/**
 * kkmd66 四刷
 * @return
 */

int main() {

    int T;
    cin >> T;
    while (T--) {
        int n;
        cin >> n;

        //存储
        vector<vector<int>> vector(n);
        for (int i = 0; i < n; ++i) {
            int l, r;
            cin >> l >> r;
            vector[i].push_back(l);
            vector[i].push_back(r);
        }

        //最小步长
        int min_step = vector[0][1] - vector[0][0];
        for (int i = 0; i < vector.size(); ++i) {
            if (vector[i][1] - vector[i][0] > min_step)
                min_step = vector[i][1] - vector[i][0];
        }

        //判断
        bool flag = true;
        for (int i = 0; i < vector.size() - 1; ++i) {
            if (vector[i][0] + min_step > vector[i + 1][0]) {
                flag = false;
                break;
            }
        }

        //输出
        if (flag)
            cout << "YES" << endl;
        else
            cout << "NO" << endl;
    }

    return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值