jlh的童年
2022/2/5 23:19:00
本文主要是介绍jlh的童年,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
description
jlh小时很喜欢玩弹珠,但是他的玩法有些特别。他在一条直线上放一些纸当陷阱,弹珠每次必须跳过一个陷阱(不能多也不能少),并且不掉到陷阱内,如果弹珠顺利跳过所有陷阱,就算成功了,否则就算失败。我们假设弹珠每次跳相同的距离,现在让你写一个程序帮jlh判断,到底有没有可能成功。
input
先输入一个T,表示有T组测试数据。每次输入一个n(n<=100),表示有n个陷阱,接下来n行,每行输入区间(l,r),表示陷阱(0<=l<=r<=50000)。
output
如果jlh有可能成功,输出YES,否则输出NO。
#include "iostream" #include "vector" #include "algorithm" using namespace std; int main() { int t, n; int min = 0; cin >> t; //遍历案例 for (int i = 0; i < t; ++i) { cin >> n; //装填陷阱 vector<vector<int>> trap(n); for (int j = 0; j < n; ++j) { int l, r; cin >> l >> r; if (r >= l) { trap[j].push_back(l); trap[j].push_back(r); min = max(min, l - n); } else { return 0; } } //装填最小步长 vector<int> stepMin; for (int j = 0; j < n; ++j) { stepMin.push_back(trap[j][1] - trap[j][0]); } sort(stepMin.begin(), stepMin.end()); int min = stepMin[n - 1]; int flag = 1; for (int j = 0; j < n - 1; ++j) { if (trap[j][0] + min > trap[j + 1][0]) flag = 0; break; } if (flag == 1) cout << "YES" << endl; if (flag == 0) cout << "NO" << endl; } }
这篇关于jlh的童年的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南